1

我正在运行一个小的 PHP 应用程序,其中一些用户使用图形 api 连接到 Facebook 并发布到他们的页面提要。它运行良好,没有问题,直到今天有用户告诉我他的帖子没有出现在他的页面上。我检查了我的数据库和日志文件,facebook api 没有例外,它返回了新帖子的 id。我尝试发布完全相同的帖子,并将相同的图像文件附加到我自己的页面上,并且一切都按预期工作。

这是执行 API 调用的 PHP 代码:

$fb = new facebook(array('appId'=>FB_APP_ID, 'secret'=>FB_APP_SECRET, 'cookie'=>true));
try {
  if(!empty($post->file)) {
    $do = "photos";
    $request['fileUpload'] = true;
    $request['source']     = "@".realpath("data/srmfiles/{$userIdentity->id}/{$post->file}");
    $fb->setFileUploadSupport(true);
  }
  $postToId = ($do=="photos" && $post->facebook_page->facebookFotoAlbumId)
          ? $post->facebook_page->facebookFotoAlbumId 
          : $post->facebook_page->facebookId;
  $fb->setAccessToken($post->facebook_page->accessToken);
  $response             = $fb->api("/{$postToId}/{$do}","POST",$request);
  $post->wasSuccessfull = 1;
  $post->facebook_id    = $response['id'];
}
catch(FacebookApiException $e){
  $post->failCount++;
  if($post->failCount>=3) {
    $post->wasSuccessfull = -1;
  }
  $handle = fopen("srm-errors-".date("Ymd").".txt","a");
  fwrite($handle,date("H:i:s")." - ".$e->getMessage()."\n");
  fclose($handle);
}

有谁知道可能是什么问题,Facebook API 没有抛出异常,返回新帖子的 ID,但帖子没有出现在页面上,也不能直接通过 ID 查看?

4

0 回答 0