目次
PHPでFacebookアプリを作っていた際のエラー対応
Facebookアプリを作っていたら、エラーがいくつか出たので、メモ。
PHPで作っていたので、PHPでの例になります。
#100 The privacy param cannot be applied when a target is specified.
自分が作ったページのウォールに書き込みをしようとした時に出たエラー。
他人のものにprivacy権限を付けるなということの模様。
$response = $facebook->api(
'/[ID]/feed',
'post',
array(
'message' => $message,
// 'privacy' => '{"value":"EVERYONE"}'
)
);
privacyをコメントアウトしたら、エラーは消えました。
#100エラーが出る前に出ていたエラー。
ウォールへ書き込み権限がないということの模様。
$loginUrl = $facebook->getLoginUrl(
array(
'canvas' => 1,
'fbconnect' => 0,
'req_perms' => 'status_update,publish_stream' // ステータス更新、フィードへの書き込み許可
)
);
publish_stream付けて、再ログインしたら、エラーは消えました。
権限については、ドキュメントを参考に。
#324 Requires upload file.
写真アップロード出来ないということの模様。
他人の写真のURLを指定してたのが悪かったみたい。
$source = "http://k.yimg.jp/images/top/sp/logo.gif"; // このままでは使えない
$file = file_get_contents($source);
$tmpfname = tempnam('./tmp', 'source');
$handle = fopen($tmpfname, "w");
fwrite($handle, $file);
fclose($handle);
$source = '@' . realpath($tmpfname);
$message = "test";
try {
$requestParameters = array(
'access_token' => $facebook->getAccessToken(),
'message' => $message,
'source' => $source,
);
$facebook->setFileUploadSupport(true);
$response = $facebook->api(
'/[ID]/photos',
'post',
$requestParameters
);
} catch (FacebookApiException $e) {
$error = "Error : something is wrong, please try again later.";
exit();
}
自分のアプリがあるサーバに一度ファイルを置いてから、@+パスを通して上げれば、エラーは消えました。









色々と問題は起これど、躓いただけ、出来上がった時の達成感が凄いですね!