1

結果を画像で表示する Facebook アプリケーションを開発しています。

PHP gd ライブラリを使用してコーディングしていますが、動的です。

「 http://example.com/result.php?name=your name」というページにアクセスすると、URL に指定された名前の画像ファイルが出力されます。私の問題は、この画像を Facebook ユーザーのフォト ストリームに投稿することです。ユーザーは出力を見ることができますが、投稿しようとすると表示されます

致命的なエラー: Uncaught CurlException: 26: ファイル " http://mysite.orgfree.com/result.php?name=bestappを開けませんでした" が /home/vhosts/powerofname.orgfree.com/base_facebook.php でスローされました977

ここに私が投稿するために使用したコードがあります

$facebook->setFileUploadSupport(true);
$ret_obj = $facebook->api('/me/photos', 'POST', array(
    'source' => '@'.'http://mysite.orgfree.com/result.php?name='.$name,
    'message' => 'Blah blah'
));

誰かが私の問題を見つけることができれば幸いです。

4

2 に答える 2

2

(実際のアップロードではなく) 画像の HTTP URL を提供している場合は、次のurl代わりにパラメーターを使用する必要がありsourceます。

$ret_obj = $facebook->api('/me/photos', 'POST', array(
    'url' => 'http://mysite.orgfree.com/result.php?name='.$name,
    'message' => 'Blah blah'
));
于 2013-02-03T18:20:50.413 に答える
1

ウェブ上ではなく、ファイルシステム上のイメージへのパスを提供する必要があります。したがって、画像をダウンロードしてファイルに保存し、このファイルへのパスを指定し、ディスクから画像をアップロードして削除する必要があります。

$tmpfile = tempnam(__DIR__,'fbu');
file_put_contents($tmpfile, 'http://powerofname.orgfree.com/result.php?name='.$name);
$ret_obj = $facebook->api('/me/photos', 'POST', array(
    'source' => '@'.$tmpfile,
    'message' => 'Blah blah'
));
unlink($tmpfile);
于 2013-02-03T18:16:42.927 に答える