現在のスクリプトでユーザーのアルバムに写真をアップロードしようとしています:
$this->facebook->api('/me/photos?access_token='.$user->access_token, 'post', $args);
$user->access_token はユーザーのアクセス トークンであり、Facebook Graph API Explorer ツールを使用して、まだ有効である (2 か月まで) ことを確認します。
ただし、上記のスクリプトで API リクエストを作成すると、コンソールは常に次のように返されます。
Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user.
私がやっていることは次のとおりです。
- アプリの認証を解除する
- アプリの再認証
- 許可をリクエストする (publish_stream,photo_upload,user_photos)
- FB SDK を最新バージョンに更新する
完全なコードは次のとおりです。
$user = $this->User_model->get_access_token($this->input->post('fb_id'));
foreach($this->input->post('media') as $media_id)
{
$media = $this->Media_model->get_media($media_id);
$args = array('message' => 'Photo Caption');
$args['image'] = '@' . realpath(FCPATH.'uploads/booth_1/'.$media->file);
$data = $this->facebook->api('/me/photos?access_token='.$user->access_token, 'post', $args);
print_r($data);
}
何か助けはありますか?
参考までに、私はコードイグナイターを使用しています。実際、私は数時間前に試していましたが (うまくいきました)、今はそうではありません。
ありがとう。