JavaScript SDK を使用しています。公開権限を持つアプリケーションがあり、特定のアクションが実行された後、ログインしているユーザーのウォールに次のように投稿が作成されます。
FB.getLoginStatus(function (response) {
//we are authorized
if (response.status == "connected") {
var name = "Post name";
var body = "Post body";
var caption = "The caption";
var description = "The description";
var link = "http://www.facebook.com/mypage";
FB.api('/me/feed', 'post', { message:body,caption:caption,link:link,name:name,description:description}, function (response) {
console.log(response);
});
}
});
私ができるようにしたいのは、ユーザーページへの投稿が成功した後、特定の Facebook ページに投稿することです。アプリケーションを安全に事前承認する方法はありますか? これは JavaScript SDK で可能ですか、それともまったく可能ですか? 私は周りを見回しましたが、明確な答えは見つかりませんでした。私はFBのドキュメントを見ていますが、場所によっては少しむらがあることがわかります. これが可能かどうか誰か教えてください。ヘルプやアドバイスをいただければ幸いです。どうもありがとうございました。
編集:私の間違いです。もっと情報を提供する必要がありました。これが私がやろうとしていることです:
var body = "The body";
var caption = "The caption";
FB.api("mypageid/feed", "post", { message: body, caption: caption }, function (response) {
console.log(response);
});
エラーが発生しています"this api call requires a valid app_id"
が、ページ ID は有効です。私が呼び出すFB.init()
と、アプリIDが渡され、ログインしたユーザーのフィードへの最初の投稿で機能します。
編集:
Igy が提案した変更を行いました。エラーが表示されるようになりました:""(#200) The user has not grant the permission to the application to automatically publish feed stories""
今、私が言ったように、私はFacebookページに投稿しようとしています. ページを所有するアカウントにログインし、アプリに移動して、次の権限を許可するをクリックしました。
email,user_photos,publish_stream
ページを所有するアカウントでログインし、自分のステータスを確認すると:
FB.getLoginStatus(function (response) {
console.log(response);
});
私は「つながる」。私はこれを間違ってやっていますか?ページを所有しているアカウントで承認するだけでなく、それ以上のことをしなければなりませんか? ページに許可権限を設定する方法はありますか? 少し掘り下げましたが、答えが見つかりませんでした。
編集:OK、今起こっていることは、ページを所有するアカウントにログインしている場合、ページへの投稿が行われることです。別のアカウントでログインしている場合、API 呼び出しへの応答として ID が返されますが、有効なオブジェクト ID ではないようです。たとえば、私はこれを取り戻しました:
id: 499973616681852_507724422573438
私が行くならhttp://graph.facebook.com/499973616681852_507724422573438
「unsupported get request"
グラフAPI例外が発生しました。これは、返されたIDが無効であることを示しています。ここに近づいているように感じますが、何かが欠けています。回答してくれたすべての人にもう一度感謝します。
編集: 意図せずに残っていたページへのリンクを削除しました。