2011-03-12 16 views
1

これはhereと同じ状況ですが、Facebookの壁にメッセージを投稿する必要があります。PageFacebook API:ページ壁に投稿する方法

私は(他のコードが答えと同じである)次のことを試してみました:

$facebook->api('/PAGE-ID/feed', 'post', $attachment) 

しかし、私は、ユーザーが許可されていないエラー

(#200)を取得この動作を実行するためのアプリケーション」と呼ばれる。

私はそのアクションのために間違ったaccess_tokenだと思いますが、どこで正しいのですか?

答えて

2

access_tokensとアクセス許可を取得するためのFacebookドキュメントは、自分のサイトHereに記載されています。

access_tokenを入手して、オフラインで投稿する場合は、ユーザーステータスページに投稿する権限が必要です。トークンの期限切れを心配することなくこれを行うには、permanent(またはoffline_access)トークンが必要です。

access_tokenを要求するときは、発行するGET要求にpermissions属性を追加することができます。そのキーでは、追加のアクセス許可を指定します。

EDIT: スコープのパーミッションを持つトークンを取得するプロセスはhereです。「許可」セクションでは、2番目の例を参照してください。追加のアクセス許可を要求する「スコープ」サンプルがあります。 OAuthフローで使用されていたパーミッションは、移動したようですが、残念です。

+0

私はそれを自動的に行う必要があります。マニュアルのFacebookページにアクセスしないと、スクリプトは自動的にアクセストークンを取得する必要があります。 – Poru

+0

@Poru、AFAIKはできません。すべてのアプリケーションは、Canvasを使用してホストするか、ユーザーがログインできるようにブラウザを起動してから、トークンを戻す必要があります。これはすべてAPIドキュメントでカバーされています。トークンが付与されると、それを別のプロセスから再利用できます。 – GrayWizardx

2

アクセストークンを持っているようにエラーメッセージが表示されますが、権限が間違っています。 extended permissions

ユーザがあなたの「アプリ」にログイン/権限を与えるときは、おそらく「publish_stream」を要求する必要があります。