0

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?

4

0 回答 0