我正在使用以下 URL 获取用于管理页面和页面事件的 Facebook Auth Token...
https://www.facebook.com/dialog/oauth?client_id=CLIENTID&redirect_uri=REDIRECTURL&scope=manage_pages,create_event&response_type=token
这将通过授权过程并返回令牌,该令牌保存在我的数据库中。然后我尝试执行以下操作来检索参加页面活动之一的人的缩略图......
function fbEventRSVPPhotos($eventID){
$authToken = eto_get_option('eto_auth_fbauthtoken') //pulled from database;
$json = file_get_contents("https://graph.facebook.com/" . $eventID ."/attending?access_token=" . $authToken);
$attendees = json_decode($json, true);
echo '<div class=attendee-photos>';
foreach($attendees['data'] as $attendee) {
echo '<img class="facebook-thumb toggleTooltip" title="' . $attendee['name'] . ' is attending" src="https://graph.facebook.com/' . $attendee['id'] . '/picture?type=square">';
}
echo '</div>';
}
当我登录 Facebook 时,此功能非常有用,但是一旦我注销,我会得到以下信息......
Warning: file_get_contents(https://graph.facebook.com/MYEVENTID/attending?access_token=MYTOKEN) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in PATHTOSCRIPT on line 94
Warning: Invalid argument supplied for foreach() in PATHTOSCRIPT on line 97
然后即使在重新登录后它仍然继续显示此 PHP 错误。我基本上每次重新登录时都必须重新生成身份验证令牌。
有人可以帮我理解为什么会发生这种情况以及如何解决吗?