1

リスナーがスタジオにメッセージを送信できるデジタル ラジオ プレーヤーを作成しています。ユーザーがウェブサイトのテキストエリアに入力し、ボタンを押すと、DJ が監視しているスタジオの Facebook ウォールにメッセージが投稿されます。

これはユーザー ウォールでは問題なく機能しますが、ページ ウォールに投稿しようとすると、次のエラーが発生します。

"(#200) The user has not granted the application the permission to automatically publish feed stories"

私は何かを忘れていますか?それともこれは不可能ですか?ユーザーはページを気に入る必要がありますか? または、ページ管理者として変更する必要がある設定はありますか?

テスト ページを作成しました。気に入ったので、自分のアカウントでテストしました。「xページのタイムラインに誰でも投稿できる」にチェックを入れました。しかし、助けはありません。

簡略化されたコードは次のとおりです。

function facebookPost(target,content) {
    FB.api('/'+target+'/feed','post',{
        message:message
    },function(res){
        console.log(res);
    }
}

私はしばらくの間 API を使用してきましたが、これには本当に頭を悩ませました。

前もって感謝します。

編集:ページ管理者が自分のページに投稿しているときにのみエラーが発生することがわかりました。perms に「manage_pages」を追加すると、エラーは発生しませんが、ステータスの更新のように、投稿はページの名前になります。

したがって、他のユーザーに対しては機能しますが、投稿する前にページを「いいね」していない場合にのみ機能します。(DJはこれらの投稿を見なければならないので、これは問題です)

誰もこの種の行動を以前に経験したことがありますか?

4

1 に答える 1

0

同じエラーでこのページにアクセスした場合、publish_actions ではなく、publish_stream が必要であることがわかりました。

Facebook のドキュメントでは、publish_actions が publish_stream に取って代わると書かれていますが。publish_actions の FB.login を実行すると、パスしましたが、投稿の作成者と同じエラーが投稿に表示されました。

publish_stream をリクエストすると、新しいパーミッションをリクエストするダイアログが表示され、[OK] をクリックすると投稿が機能しました。

私が使用したコード:

params={message: "Your message on the wall."}

FB.login(function(response) { console.log(response) }, {scope:'publish_stream'})
FB.api('/<The Page ID>/feed', 'post', params, function(response) { console.log(response)  });
于 2013-06-24T08:58:00.577 に答える