0

access_tokenFacebookのファンページにコンテンツを投稿するために、長寿命(2か月)を使用しています。

だから私はテキストを投稿するために以下を使用します(成功しました):

$params = array(
                'access_token' => 'token',
                'message'=> ":-) <3",
                'image' => '@' . $image['file']
);

$post_id = $facebook->api('/'.$page_id.'/feed','post',$params);

そして、アルバムに写真を投稿するためのこのコード

$facebook->setFileUploadSupport(true);
$image['file'] = 'images/rezultate/facebook_photo_170439606380900.jpg';
$args = array( 'access_token' => 'token', 'message' => ':-) <3', 'no_story' => 0);
$args['image'] = '@' . $image['file'];
$target_url = "https://graph.facebook.com/356048711158011/photos";

$ch = curl_init(); 
curl_setopt ($ch,CURLOPT_URL,$target_url); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
curl_exec($ch);
curl_close ($ch);

問題は、長寿命のアクセストークンで写真を投稿できないのはなぜですか?テキストのみですが、2時間(短命)のアクセストークンを使用すると、写真を投稿できます

4

1 に答える 1

0

このextended_user_tokenから受け取ったページのトークンを使用する必要があります。最初から次の手順に従います。

  1. グラフAPIエクスプローラーに移動します
  2. 右上のアプリケーションメニューでアプリを選択します
  3. アクセストークン(短期トークン)を取得します。
  4. 上記のトークンから、以下を使用して長期アクセストークン(2か月)を生成します。

     graph.facebook.com/oauth/access_token?client_id=APP_ID& client_secret=APP_SECRET& grant_type=fb_exchange_token& fb_exchange_token=EXISTING_ACCESS_TOKEN
    
  5. 次に、このアクセストークンを使用して、「/ me/accounts」を呼び出します。
  6. 結果として、ページに対応するアクセストークンをコピーします
  7. Debuggerを使用してこのトークンの有効性を確認してください。このページのトークンは期限切れになりません。

このトークンをコードで使用します。

于 2012-12-19T05:38:30.100 に答える