未经用户授权即可获取Facebook访问令牌

时间:2012-11-06 16:00:03

标签: php facebook facebook-graph-api facebook-php-sdk

是否可以在没有PHP用户授权的情况下获取访问令牌?我需要用户访问令牌才能从Facebook粉丝页面获取照片:

$photoQuery = urlencode('SELECT pid,src_big,src_small,caption,link,position FROM photo WHERE aid = "'.$albumId.'"');    
$photoFQL = 'https://api.facebook.com/method/fql.query?query='.$photoQuery .'&access_token='.$access_token.'&format=xml';   
$photoResults = file_get_contents($photoFQL);   

通过用户授权,它运行得非常好,但没有它,我不知道如何获得正确的访问令牌。我试着这样做:

$url = 'https://graph.facebook.com/oauth/access_token?client_id=xxx&client_secret=xxx&grant_type=client_credentials';
$x = curl_setopt($ch, CURLOPT_URL, $url);       
$accessToken = curl_exec($ch);
curl_close($ch);

所以实际上我获得了访问令牌,但它不能处理照片检索。也许问题是Facebook粉丝页面与酒精有关,因此无法在未经授权的情况下获得正确的令牌或者我做错了。

所有想法?

1 个答案:

答案 0 :(得分:1)

如果Facebook页面有任何用户限制,如酒精,年龄或国家/地区,则只能使用符合设置条件的用户access_token获取该页面的帖子。

这是为了防止不应该看到该页面信息的用户通过应用程序访问该页面。