0

私はこれを使用して、ユーザーから友人に私のアプリで招待状を送信し、ユーザーが私のアプリでニュースを読んだときに公開アクションの許可を求めています。

function xlfb_friendInvite() {
    FB.ui({method: 'apprequests',
        message: 'great app http://apps.facebook.com/xaluancom enjoin w me..',
    },
    function(receiverUserIds) {
        console.log("IDS : " + receiverUserIds.request_ids);
    });
    //http://developers.facebook.com/docs/reference/dialogs/requests/
}

しかし、そのリクエストには外部の許可がないことがわかりました。招待されると、ユーザーは通知を受け取り、それを受け入れましたが、権限がないため、アプリは機能しません。

4

2 に答える 2

0

ユーザーが自分に送信されたリクエストを受け入れると、アプリケーションのキャンバスURLにリダイレクトされます。そのユーザーがアプリケーションを認証したかどうか、およびユーザーがアプリケーションに正しいアクセス許可を付与したかどうかを確認するのは、アプリケーションの責任です。

あなたがする必要があるのはあなたのキャンバスのURLに着陸するユーザーが認証されているかどうかを確認することです。通常、認証プロセスの一部としてアクセス許可を要求しますが、これは必須ではありません。

このような権限をテストできます-

FB.api('/me/permissions', function (response) {
    console.log(response);
});

ユーザーが必要なすべてのアクセス許可を付与していない場合は、アクセス許可ダイアログでユーザーにプロンプ​​トを表示できます-

FB.ui({
    method: 'permissions.request',
    perms: 'user_likes',
    display: 'popup'
    },function(response) {
        if (response && response.perms) {
            alert('Permissions granted');
        } else if (!response.perms){
            alert('User did not authorize permission(s).');
        }
});

ログインプロセスの一部としてユーザーを認証し、アクセス許可を要求するだけの場合は、次のようなコードを使用できます-

FB.login(function(response) {
  // handle the response
}, {scope: 'email,user_likes'});
于 2012-05-26T08:49:24.747 に答える
0

ついに私は簡単な解決策を見つけました。私のFaceBookアプリセンターに移動しSettings > Auth Dialogue、「」をクリックしてから「edit these permissions」と入力しpublic_stream, emailます。

ユーザーがアプリから招待を受け取るたびに、アプリケーションを承認するときに許可を求めるウィンドウが表示されます。

また、「public_actions」は現在、その設定ではサポートされていないことに気付きました。Facebookチームがそこにオプションを置くのを忘れたのかもしれません。

とにかく、public_actionsで覆われてpublic_streamいるので、まったく混乱していません。

FaceBookのOpengraphチームに感謝します。

于 2012-05-28T10:20:23.240 に答える