2

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が無効であることを示しています。ここに近づいているように感じますが、何かが欠けています。回答してくれたすべての人にもう一度感謝します。

編集: 意図せずに残っ​​ていたページへのリンクを削除しました。

4

1 に答える 1

2

最初にグラフエクスプローラーで機能させることをお勧めします。右上で、実行するアプリケーションを選択できることに注意してください。/ PAGE_ID / feedを使用してページに投稿しましたが、正常に機能しました。publish_stream権限が必要です。グラフエクスプローラーで動作させることができれば、JS SDKで動作させることが可能であり、ある種の構文エラーが発生したことがわかります。

また、「サポートされていないgetrequest」を返すグラフへのいくつかの呼び出しに関する未解決の優先度の高いバグレポートがあることに注意してください。したがって、返されるIDが無効であっても、ページ自体をチェックして、投稿が表示されているかどうかを確認してください。

また、ユーザー自体にも同じエラーが発生していることに気付きました。https://graph.facebook.com/507724422573438をお試しください。これはアプリのテストユーザーですか?もしそうなら、実際のユーザーとしてこれを試す価値があるかもしれません。

ページ自体としてページに投稿するため、ページとして認証し、グラフAPI呼び出しを行うときにそのアクセストークンを使用する必要があります。このアクセストークンを任意のユーザーに使用できるのか、それともページの管理を許可されているユーザーのみに使用できるのかはわかりません。グラフエクスプローラーを使用して、いくつかの実験を行って調べるのが最善です。

于 2012-10-04T13:05:21.337 に答える