Facebook Graph API调用成功返回我的用户信息,但不返回我的相册?

问题描述

| 问题是:这是我的大脑吗?还是Facebook令人讨厌的API? 意向: 返回我的Facebook相册信息和用户信息 结果:用于相册信息的空数据集,用于用户信息的完整结果
{
   \"data\": [

   ]
}


<?PHP
/****************************************************************************
Application settings
****************************************************************************/
$app_id = \'123456\';
$app_secret = \"4543163864\";
$my_url = \"http://www.myurl.com/app\";
$canvas_page = \'http://apps.facebook.com/my_canvas_page/\';

# authorize the user using oauth protocol (including required permissions)
$auth_url = \"http://www.facebook.com/dialog/oauth?client_id=\" 
            . $app_id . \"&redirect_uri=\" . urlencode($canvas_page).\"&scope=user_photos,friends_photos\";

     $signed_request = $_REQUEST[\"signed_request\"];
     list($encoded_sig,$payload) = explode(\'.\',$signed_request,2); 
     $fb_user_session = json_decode(base64_decode(strtr($payload,\'-_\',\'+/\')),true);

    # if authorization Failed,kick back to auth_url
    if (empty($fb_user_session[\"user_id\"])) 
    {
        echo(\"<script> top.location.href=\'\" . $auth_url . \"\'</script>\");
    } 
    else 
    {
        /****************************************************************************
        User successfully logged in.
        ****************************************************************************/
        $my_albums = \"https://graph.facebook.com/me/albums?access_token=\".$fb_user_session[\'oauth_token\'];
        $my_info = \"https://graph.facebook.com/me?access_token=\".$fb_user_session[\'oauth_token\'];



        echo \"<a href=\'$my_albums\'>my album @R_272_4045@ion</a><br>\";
        echo \"<a href=\'$my_info\'>my user @R_272_4045@ion</a>\";

        ### ignore this,just testing iframe call ###
        exit;
        echo(\"<script> top.location.href=\'\" . $my_albums . \"\'</script>\");
    } 
?>
附加信息: 登录后,可以从http://developers.facebook.com/docs/reference/api/user/测试一个“相册”请求!它成功返回了我所有的相册信息。但是我注意到测试URL中的授权令牌与我检索到的应用程序令牌($ fb_user_session [\'oauth_token \'])不同。这里发生了什么? 我是否缺少某种授权步骤?为什么我的应用程序会使用完全相同的调用和令牌来返回相册的空白数据,而Facebook的测试调用会返回完整的数据集?如果有人能一劳永逸地解决这个问题,那就太好了。 有任何想法吗?     

解决方法

尝试将\“ user_photo_video_tags \”添加到请求的范围列表中。另外,请尝试调用权限api调用,以通过检查\“ user_photos \”权限来确保您有权访问用户的照片。 网址是:https://graph.facebook.com/me/permissions?access_token = ...