Facebookからログインしてアルバムを取得しています:
1) ここでは、まず$facebook->getUser()
0 を返す関数
2) 残りのコード、つまり条件にコメントするとif/else
、catch ブロックに入り、次のような例外が表示されます。
Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user.
3) これに関しては、stackoverflow と google で多くの投稿を見つけ、ほとんどすべてを試しましたが、まだ機能していません。そのため、ここでコードを共有しています。
4) また、新しいアプリ facebook を作成して試してみましたが、まだ問題が解決しません。
以下は私のコードです:
public function facebookapiAction() {
require 'auth/src/facebook.php';
$facebook = new Facebook(array(
'appId' => '3xxxxxxxxxxxxxxxxxxxx7',
'secret' => '6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5',
'cookie' => true,
));
return $facebook;
}
public function facebookalbumAction() {
$session = new Zend_Session_Namespace('user');
$facebook = $this->facebookapiAction();
$access_token = $facebook->getAccessToken();
$facebook->setAccessToken($access_token);
$user = $facebook->getUser();
$albumid = $this->_getParam('albumid');
if ($user <> '0' && $user <> '') {
if ($albumid != "") {
$photos = $this->albumlistAction($albumid, $facebook);
} else {
try {
$albumArrInfo = array();
$user_profile = $facebook->api('/me/albums');
} catch (FacebookApiException $e) {
error_log($e);
exit;
}
}
$session->fb_logout = $facebook->getLogoutUrl(array('next' => "http://{$_SERVER['HTTP_HOST']}/register/logout/id/Logout"));
$session->isfb = 1;
} else {
if (isset($_REQUEST['getfurl']) && !(isset($_REQUEST['state']))) {
$loginUrl = $facebook->getLoginUrl(array('display' => 'popup','scope' => 'manage_pages,user_events,email,read_stream,user_photos,offline_access'));
echo $loginUrl;
exit;
}
}
}
public function albumlistAction($albumid, $facebook) {
$photos = $facebook->api("/{$albumid}/photos");
$albumArr = array();
$albumArrInfo = array();
foreach ($photos['data'] as $photo) {
$albumArr['id'] = $photo['id'];
$albumArr['name'] = $photo['name'];
}
return $albumArr;
}
このコードの何が問題なのですか。
助けが必要。