2010-09-01 37 views
0

我无法获得正确的令牌以从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。

帮助?

谢谢! 安迪

回答

0

头痛它应该是/me/?access_token=而不是/me/?wrap_access_token=

相关问题