IDEA:
无需用户交互即可从各种 Facebook 页面(俱乐部、酒吧等)获取活动信息。但是,某些页面已将该信息设置为不公开。
工作原理:
我在我的网站上有最新的 facebook PHP-SDK,在 facebook 上有一个 APP,所以通常我打电话
$facebook = new Facebook(array(
'appId' => '387262991341732',
'secret' => '09014d999f6e34d80ca3e62e331834cc',
));
$events = $facebook->api("$page_url/events");
问题:
当页面不公开时,我必须使用 access_token。
1)这是一个APP access-token,不允许查看事件。
$app_token = $facebook->getAccessToken();
所以我想我需要获取用户access_token 并添加更多代码:
if (!$user) {
$args['scope'] = 'offline_access';`<br>`
$loginUrl = $facebook->getLoginUrl($args);`<br>`
}
<?php if (!$user): ?>
<a href="<?php echo $loginUrl ?>">Login with Facebook</a>
<?php endif ?>`
我自己单击链接并使用 getAccessToken() 获取用户access_token:
$user_token = $facebook->getAccessToken();// I store this in my database
我检查这个:
file_get_contents('http://graph.facebook.com/privatepage/events?access_token=$user_token');
// Everything works, im very happy
2)现在我删除了所有的cookies等,然后尝试使用$facebook->setAccessToken($user_token)
,然后$events = $facebook->api("$page_url/events");
什么也没得到。我再向您保证AccessToken 是有效的。
经过相当长的研究,我坚持这一点。
???) *任何想法如何使用 $facebook->api(...) 而不是 file_get_contents?