0

まず第一に、このトピックに関連する質問と回答がたくさんあることを知っています。ただし、それらのどれも私にとってはうまくいきません(おそらくそれらが古く、方法が時代遅れになっているためか、わかりません)...私の問題を簡単に説明しましょう:

CocoonJS で拡張アクセス許可を使用して約 2 週間 Facebook にログインしようとしてきましたが、完全にログインできません...基本的なアクセス許可で正常にログインでき、すべてが期待どおりに機能しますが、わかりません拡張アクセス許可を要求する方法... オプションのパラメーターを使用して Cocoon の FB ログインを呼び出すと、基本的なアクセス許可のみが要求されるため、実際にはCocoon (または FB) は拡張要求を無視するようです:

var socialService = CocoonJS.Social.Facebook.getSocialInterface();

socialService.login(function(loggedIn, error) {
    if (error) {
        console.error("login error: " + error.message);
    }else if (loggedIn){
    console.log("login suceeded");

    CocoonJS.Social.Facebook.getLoginStatus(function(response) {
    if (response.status === 'connected')
        CocoonJS.Social.Facebook.api("/me/permissions",
            function (response) {
                if (response && !response.error) {
                    console.log("Granted perms.: "+JSON.stringify(response));
                }else{
                    console.log("ERROR: unable to retrieve permissions");
                }
            }
        );
    }
    });
}, { 'scope': 'user_photos,publish_actions',return_scopes: true });

問題は、ログイン機能が正常に動作しているようで、「ログイン成功」ログが出力され、「許可されたパーマ」も出力されることです。ログ。ただし、「user_photos」と「publish_actions」のものを完全に無視して、基本的な権限のみを表示します (取得されたリストにも表示されません...

オプションを with 'scope'、 with scope、 with 'perms'... で呼び出してみましたが、結果は何も変わりません。私は CocoonJS フォーラムで質問しました。2 週間グーグルで調べ、さまざまなソリューションやさまざまな Facebook アカウントを試し、CocoonJS の FB ログイン機能で拡張パラメータをハードコーディングしてみましたが (結果としてクラッシュしました)、何も機能しませんでした.. .

誰でもそれを達成する方法を知っていますか?

あなたの時間と労力を前もって感謝します!

4

1 に答える 1

1

CocoonJS は、'scope' パラメーターをコンマ区切り値の文字列として解析します。ただし、これらのアクセス許可の値は、読み取り専用のセッション ログインで使用されます。Facebook は「publish_actions」パーミッションでのログインを廃止し、アプリはログイン時に最小限の読み取りパーミッションを要求し、ユーザーが実際に必要とするときに追加のパーミッションまたは公開パーミッションを要求することを提案しています。

次の方法で拡張アクセス許可をリクエストすることをお勧めします。

CocoonJS.Social.Facebook.requestAdditionalPermissions("publish", "publish_actions", function(response) {
  callback(response.error ? false : true);
});
于 2014-05-26T13:37:30.703 に答える