stream.publish メソッドまたは同等のグラフ API 呼び出しを使用するには、stream.publish 権限が必要です。
次のような方法で、ユーザーがこの権限を既に付与していることを確認できます。
FB.getLoginStatus(function(response) { if (response.perms) { /* check perms */ } })
次のような方法で許可をリクエストできます。
FB.login(function(response) { /* check perms */ }, {scope: 'publish_stream'})
次に、応答で実際に許可されたかどうかを確認できます。その後、ストリーム公開呼び出しを実行できるはずです。
ただし、「Facebook.streamPublish」という呼び出しの形式を認識できません。新しいAPIでは、次のような呼び出しを行う必要があると思います
FB.api({method: 'stream.publish', message: 'hello'}, function(response) {})
これらすべての代わりに、ダイアログ API を使用して投稿を作成し、それをユーザーに表示して、承認または非承認にすることができます。これには、stream.publish パーミッションは必要ありません。このようなもの (FB.ui API ドキュメントにある例):
FB.ui(
{
method: 'feed',
name: 'Facebook Dialogs',
link: 'http://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
message: 'Facebook Dialogs are easy!'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
Facebook の変化の速さを考えると、この情報の一部が、あなたが読んだ時点でまだ正確であることを願っています (または、最初から正確であることさえあります)。