我无法获得正确的令牌以从Facebook API获取扩展用户信息(特别是电子邮件)。我已经正确地给我的应用程序权限来检索电子邮件,所以我知道我有正确的权限。我试图用exchange_session方法会话转换为令牌,你可以在我的代码见下文:无法访问来自Facebook的电子邮件Oauth
$url = 'https://graph.facebook.com/oauth/exchange_sessions';
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$url);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS,'type=client_cred&client_id=' . FB_APPID . '&client_secret=' . FB_SECRET . '&sessions=' . $session->session_key);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
$tokendata = json_decode($buffer);
$user = json_decode(file_get_contents('https://graph.facebook.com/me/?wrap_access_token=' . $tokendata[0]->access_token));
print_r($user);
如果我使用“/我”它总是与 出现了错误“的主动访问令牌必须用于查询有关当前用户的信息。“
如果我用当前用户ID换出'/ me',它会给我基本的用户信息,但不会扩展信息。
,我回来的令牌的确是完全令牌与此格式的会话信息:
123456789| 6.abcdefghijklmnopqrstuv __ 1234.1234567890-1234567890 | abcdefghijklmnopqrstuvwxyza。
帮助?
谢谢! 安迪
我正在使用标准的FB SDK。 – andypants 2010-09-02 16:07:35