2012-01-27 78 views
0

无法弄清楚如何向访问令牌添加权限以访问好友照片。我有:Facebook图表PHP FQL:朋友照片权限(新SDK)

//auth user 
if(empty($code)) { 
    $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
       . $app_id . '&redirect_uri=' . urlencode($my_url) 
       . '&scope=friends_photos'; 
    echo("<script>top.location.href='" . $dialog_url . "'</script>"); 
    } 
    //get user access_token 
    $token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' 
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code 
    . '&scope=friends_photos'; 

    $access_token = file_get_contents($token_url); 

    $fql_query_url = 'https://graph.facebook.com/' 
    . '/fql?q=SELECT+pid,object_id+FROM+photo_tag+WHERE+subject=301179' 
    . '&' . $access_token; 

    $graph_url = "https://graph.facebook.com/me?access_token=" 
     . $access_token; 

    $user = json_decode(file_get_contents($graph_url)); 

$fql_query_result = file_get_contents($fql_query_url); 
    $fql_query_obj = json_decode($fql_query_result, true); 

    echo '<pre>'; 
    print_r("query results:"); 
    print_r($fql_query_obj); 

查询返回空。

回答

1

您应该使用scopeOAuth dialog(请参阅属性)向用户请求权限,稍后您只需使用他的access_token即可。

$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
       . $app_id . '&redirect_uri=' . urlencode($my_url) 
       . '&scope=friends_photos'; 

BTW,有一个https://graph.facebook.com/oauth/access_token

+0

没有参数perms我还是来了空见编辑。 – JoshDG 2012-01-27 18:56:02