ローカル画像をページフィード(つまり、「壁の写真」アルバム)に直接アップロードしようとしています。
これは私がうまくいくと思うコードです:
<?php
$facebook = new Facebook(array(
'appId' => $the_app_id,
'secret' => $this_app_secret,
));
$facebook->setAccessToken($the_access_token);
$facebook->setFileUploadSupport(true);
$attachment = array(
'message' => $the_post_body,
'name' => $this_image_name,
'picture' => '@' . $the_absolute_path_to_image
);
$result = $facebook->api('/me/feed, 'post', $attachment);
しかし、このコードは、「メッセージ」の内容を含むプレーンテキストのウォールポストを生成するだけです(つまり、画像フィールドは無視されているようです)。「/page_id/ feed」も試しましたが、同じ結果です。
エンドポイントを「/me/ photos」に変更するだけで、写真はアプリの名前の「通常の」アルバムにアップロードされますが、できるだけ通常の投稿のように見せたいので、 「壁の写真」アルバム)。
FQLでグラフをクエリして「WallPhotos」アルバムのobject_idを見つけることでこれを実現できることはわかっていますが、存在しない場合は、作成するために追加のアクセス許可が必要になり、アクセス許可をできるだけ単純に保ちます。
「/me/feed」に写真をアップロードする方法を教えていただければ幸いです。