2

ローカル画像をページフィード(つまり、「壁の写真」アルバム)に直接アップロードしようとしています。

これは私がうまくいくと思うコードです:

<?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」に写真をアップロードする方法を教えていただければ幸いです。

4

1 に答える 1

1

しかし、このコードは、「メッセージ」の内容を含むプレーンテキストのウォールポストを生成するだけです(つまり、画像フィールドは無視されているようです)。「/page_id/ feed」も試しましたが、同じ結果です。

画像へのリンクのみを指定できますが、データは指定できません。

エンドポイントを「/me/ photos」に変更するだけで、写真はアプリの名前の「通常の」アルバムにアップロードされますが、できるだけ通常の投稿のように見せたいので、 「壁の写真」アルバム)。

ええ、それはアプリに基づいてデフォルトでアルバムを作成します。すでに存在する場合は、アルバムにアップロードします。そして、投稿を生成します。

FQLでグラフをクエリして「WallPhotos」アルバムのobject_idを見つけることでこれを実現できることはわかっていますが、存在しない場合は、作成するために追加のアクセス許可が必要になり、アクセス許可をできるだけ単純に保ちます。

私/フィードエンドポイントのfbにアップロードすることはできません。server / s3 / someサービスに保存し、パブリックURLをme /feedparamsに指定する必要があります。

于 2012-06-05T14:55:47.113 に答える