2011-08-04 14 views
0

FB.uiを使用してFacebookウォールポストを作成することはできますが、ポップアップダイアログボックスをユーザーに表示することはできませんか?Facebook Javascript SDK

答えて

1

いいえ、FB.uiではありません。ダイアログなしでユーザーの壁に直接投稿するには、FB.apiを使用する必要があります。これを行うには、ユーザはログインして、あなたのアプリに許可をpublish_stream許可する必要があります。ドキュメントからのコード例:そのFacebookは、直接壁の投稿を嫌い、そしてあなたが掲示されているコンテンツは、あなたのアプリの流れとのユーザの対話の直接の結果でない限り、あなたはリスクを実行しても

var body = 'Reading JS SDK documentation'; 
FB.api('/me/feed', 'post', { message: body }, function(response) { 
    if (!response || response.error) { 
    alert('Error occured'); 
    } else { 
    alert('Post ID: ' + response.id); 
    } 
}); 

は注意してくださいスパムと判断され、アプリが停止されてしまいます。 platform policy (section IV)から:

.2。ユーザーがワークフローの以前の段階でコンテンツを手動で生成していない限り、次の製品に関連付けられているフィールドを事前に入力する必要はありません:ストーリーのストーリー(Facebook.streamPublishおよびFB.Connect.streamPublishのuser_messageパラメータ、streamのメッセージパラメータ)写真(キャプション)、動画(説明)、メモ(タイトルとコンテンツ)、リンク(コメント)、およびJabber/XMPPを含む、

.3。ユーザーが公開許可を与える場合は、コンテンツの公開やイベントの作成などのユーザーの操作を行う前に、ユーザーからの承諾を得る必要があります。

個人的な経験から、Facebookは、公開アクションを取る前に何らかの方法でユーザーに通知することをアプリに依頼します。これはあなたのポリシーに違反するアプリのライブを停止させることはありませんが、アプリの監視チームがそれを拾うと、必要な変更を加えるまでアプリケーションを停止して停止できます。

+0

助けてくれてありがとう –

+0

これがあなたの状況の正解であれば、そのようにマークしてください:) – shanethehat

0

graph apiをお試しください。

アクセストークンを使用して、適切な接続URLにHTTP POST要求を発行することで、Facebookグラフに公開することができます。

curl -F 'access_token=...' \ 
    -F 'message=Hello, Arjun. I like this new API.' \ 
    https://graph.facebook.com/arjun/feed 

明らかに、これは、JavaScriptのAPIはありませんが、それはトリックを行います。たとえば、https://graph.facebook.com/arjun/feedにPOSTリクエストを発行することにより、アルジュンの壁に新しい壁のポストを投稿することができます。私はそれがJavaScript APIを介して直接ポップアップなしで行うことはできないと思います。

+0

助けてくれてありがとう –

関連する問題