FB.uiを使用してFacebookウォールポストを作成することはできますが、ポップアップダイアログボックスをユーザーに表示することはできませんか?Facebook Javascript SDK
答えて
いいえ、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は、公開アクションを取る前に何らかの方法でユーザーに通知することをアプリに依頼します。これはあなたのポリシーに違反するアプリのライブを停止させることはありませんが、アプリの監視チームがそれを拾うと、必要な変更を加えるまでアプリケーションを停止して停止できます。
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を介して直接ポップアップなしで行うことはできないと思います。
助けてくれてありがとう –
助けてくれてありがとう –
これがあなたの状況の正解であれば、そのようにマークしてください:) – shanethehat