2

PHPを使用してFacebookページに投稿しようとしています。私はFacebookアプリケーションを作成しました。そして、私が見つけた非常に役立つコードを使用して、通常のアカウントFEEDに投稿することができます: Facebookユーザーの壁の毎日の自動投稿

要約すると、次のようになります。

$facebook = new Facebook(array('appId'  => 'xxxxxxxx',
                               'secret' => 'xxxxxxxxxxxxxx',));

$post = array('message'   => 'Message to user');

$post_id = $facebook->api("/$USER_ID/feed", "post", $post);

access_tokenにはこれまで何も必要ありません。PAGE(および通常のアカウント)から次のアクセス許可をアプリケーションに付与しました:publish_stream、manage_pages

しかし...これはFacebookPAGEでは機能しないようです。アプリから投稿できないようです。次の組み合わせやその他の組み合わせを試しましたが、Facebookはエラーメッセージを返さず、投稿もしません。

$feed = '/MYPAGEID/feed';

$post_id = $facebook->api($feed, "post", $post);

あなたの助けは大歓迎です!

4

2 に答える 2

3

Pageオブジェクトのドキュメントには、次のように記載されています。

ウォールに投稿するときにページを偽装するには(つまり、現在のユーザーではなくページとして投稿する)、manage_pagesおよびpublish_stream権限を持つPageaccess_tokenを使用する必要があります

現在のユーザーではなく、ページとして次の操作を実行するには、Graph APIオブジェクトの読み取りに一般的に使用されるユーザーアクセストークンではなく、ページのアクセストークンを使用する必要があります。このアクセストークンは、manage_pages権限を持つ/ USER_ID/accountsにHTTPGETを発行することで取得できます。これにより、ユーザーが管理アクセス権を持つページ(アプリケーションプロファイルページを含む)のリストと、それらのページのaccess_tokensが返されます。または、上記のように、manage_pages権限で/ PAGE_ID?fields =access_tokenにHTTPGETを発行することにより、単一の特定のページのページアクセストークンを取得できます。特に明記されていない限り、ページへの公開にはpublish_stream権限も必要です。

また、ページとしての認証のチュートリアルを必ず確認してください。

于 2012-04-22T11:08:27.630 に答える
0

ページに投稿する場合は、管理者アカウントから適切なアクセストークンを取得してください。Facebookの宣誓ページに移動して、適切なトークンを生成します。アクセストークンの取得に移動し、必要なオプションを選択します。

http://developers.facebook.com/tools/explorer

于 2012-04-22T11:31:46.057 に答える