0

我使用长寿命access_token(2 个月)在 Facebook 粉丝页面上发布内容。

所以我使用以下内容发布文本(成功):

$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 回答