0

Facebookに投稿するための私の関数は次のとおりです。

require 'facebook-src/facebook.php';
function Facebook($content,$link=false,$image=false,$caption=false)
{
$facebook = new Facebook(array(
 'appId' => 'myappid',
 'secret' => 'mysecret'
));
$token='mytoken';

$post = array('access_token' => $token,'message' =>$content);
if ($link!==false) $post['link']=$link;
if ($image!==false) $post['picture']=$image;
if ($caption!==false) $post['caption']=$caption;

try{
$res = $facebook->api('/MyPage/feed','POST',$post);
} catch (Exception $e){
echo $e->getMessage();
}
}

これは、投稿する画像がある場合を除いて、私のページのウォールに投稿するときに完全に機能します。

私は画像を次のように与えようとしました: http://www.mysite.com/full_link_to_image.png

そして、私も試しました /home/local/path/to/image.png

以前の Facebook の返信に対して:(#1500) The url you supplied is invalid

後者に対して、Facebook は次のように返信します。(#100) picture URL is not properly formatted

なぜ問題なのかわかりません。私のイメージはその場所にあり、良いイメージです。画像の解像度は問題ないようです。Facebook は、追加しようとした画像で同じエラーを返します。画像がない場合は、エラーなしで問題なく投稿されます。

4

1 に答える 1

0

まず、localhost から作業していないことと、http://www.mysite.com/full_link_to_image.pngがブラウザーで動作することを確認してください。

/photos を使用する必要があります。これにより、写真がアルバムにアップロードされ、指定したメッセージとともにウォールに公開されます。ただし、その方法ではサイド サムネイルを取得できません。

$attachements = array(
    'access_token' => 'PAGE_TOKEN',
    'title' => 'POST_TITLE',
    'message' => 'MY_MESSAGE',
    'url' => 'IMAGE_URL';
);                                                                          
$result = $facebook->api('/PAGE_ID/photos', 'POST', $attachements);

サムネイルを取得するには、リンクを使用する必要があります

$attachements = array(
    'access_token' => 'PAGE_TOKEN',
    'title' => 'POST_TITLE',
    'link' => 'LINK_URL',
    'picture' => 'IMAGE_URL'
    'description' => 'LINK DESCRIPTION',
);

$result = $facebook->api('/PAGE_ID/feed', 'POST', $attachements);

画像のサイズに応じて、サムネイルはリンクの左側または上部に表示されます。

それでも機能しない場合は、別の Web サイトの画像でテストしてください。

于 2013-11-12T09:12:17.080 に答える