2

publish_stream アクセス許可を付与していない場合、ユーザーのアクセス許可を取得しようとしています。

私はこの機能を持っています:

        function AskPermission()
        {
            ResizeUnity(0);

            FB.login(function(response)
            {
                alert("Hit");
                if (response.authResponse) 
                {
                    alert('Granted!');
                    GetUnity().SendMessage("POST", "POST", "Granted");
                }
                else 
                {
                    alert('User cancelled login or did not fully authorize.');
                    GetUnity().SendMessage("POST", "POST", "");
                }

                ResizeUnity(1);
            }, {scope: 'publish_stream'});  
        }

呼び出されると、小さなウィンドウがポップアップして、あなたの公開プロフィールと友達リストにアクセスしたいという質問が表示されます。OKとキャンセルの2つのボタンがあります。[OK] を押すと、別の画面に進み、あなたに代わって友達に投稿したいという質問が表示されます。ここでも 2 ボタン、OK とスキップ。

最初のスキップを押してすべての権限を拒否すると、何も返されません。アラート("ヒット"); は呼び出されません。

最初のプロンプトで [OK] を押すと、2 番目のポップアップが表示され、代わりに投稿について尋ねられます。[OK] を押すと、「Granted」というアラートが呼び出されます。

スキップを押すと、スキップを押しても「承認済み」というアラートも呼び出されます。

4

3 に答える 3

3
FB.getLoginStatus(function(response) {    
    if (response.status === 'connected') {
       // the user is logged in and has authenticated your
       // app, and response.authResponse supplies
       // the user's ID, a valid access token, a signed
       // request, and the time the access token 
       // and signed request each expire
      var uid = response.authResponse.userID;
      var accessToken = response.authResponse.accessToken;
    } else if (response.status === 'not_authorized'){
        // the user is logged in to Facebook, 
        // but has not authenticated your app
    } else {
        // the user isn't logged in to Facebook.
  }
});

この Facebook 機能を使用して、ユーザーが権限を付与しているかどうかを確認します。

ユーザーがアプリを許可していない場合は、同じ機能を呼び出すことができます。コードについてさらに支援が必要な場合は、私がお手伝いします。:)

詳細については、Fb.getLoginStatusを参照してください。

于 2013-04-09T11:09:04.330 に答える
0

1 つの画面自体で必要なすべての権限を要求しない理由はありますか。ただし、Facebook のドキュメントによると、最初はほとんど許可を求めず、外出先で許可要求を増やし続けることに注意してください。

https://developers.facebook.com/docs/reference/login/#permissions

このコードを試してください

FB.login(function(response) {
   if (response.authResponse) {
     var access_token =   FB.getAuthResponse()['accessToken'];
     console.log('Access Token = '+ access_token);
     FB.api('/me', function(response) {
     console.log('Good to see you, ' + response.name + '.');
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: ''});

それが役立つことを願っています

于 2013-04-15T15:46:35.267 に答える