我正在运行一个小型PHP应用程序,其中一些用户连接到Facebook并使用图形api发布到他们的页面供稿。 它运行良好,没有问题,直到今天用户告诉我他的帖子没有出现在他的页面上。我检查了我的数据库和日志文件,facebook api没有例外,它返回了新帖子的id。 我尝试使用附加到我自己页面的相同图像文件发布完全相同的帖子,所有内容都按预期工作。
以下是执行API-Call的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,但帖子没有出现在页面上也无法直接查看通过身份证?