1

我能够导入用户的联系人:

        $url = 'https://apis.live.net/v5.0/me/contacts?access_token='.$accesstoken.'';
        $xmlresponse =  curl_file_get_contents($url);
        $xml = json_decode($xmlresponse, true);
        foreach($xml['data'] as $emails)
        {
                echo '<br><br>';
                echo $emails['name'].' '.$emails['email_hashes'][0];

        }

问题是我想找到用户在我的网络中可能拥有的连接。hotmail 不提供纯文本电子邮件(而且它看起来是一种加密方式)..

如何以相同的方式加密我的电子邮件以进行比较?还有其他解决方法吗?

4

2 回答 2

3

我的解决方案是扩大范围:然后在结果中接收更多字段

https://login.live.com/oauth20_authorize.srf?client_id={APPID}&`scope=wl.signin%20wl.basic%20wl.emails%20wl.contacts_emails&response_type=code&redirect_uri=http://{REDIRECT_URI}`
于 2013-01-09T18:01:29.700 回答
1

根据生成散列的文档,您可以通过首先生成散列,将trim()您的 appid 和电子邮件 - 将它们连接在一起作为 UTF-8 并生成连接字符串的 sha256 散列。

类似(伪代码),假设 appid 和 email 都是有效的 utf-8:

function get_hotmail_hash($email, $appId)
{
    $content = mb_strtolower(trim($email) . trim($appId), "utf-8");
    return hash("sha256", $content);
}
于 2013-01-09T12:11:10.943 回答