0

PHPで書かれたFacebookアプリがあります。ユーザーの「メール」許可を求められました。ユーザーの電子メール アドレスの90%を取得したことに気付きましたが、一部は取得できませんでした。

電子メールのアクセス許可により、Facebook アプリがユーザーのプロファイルに記載されているプラ​​イマリ電子メール アドレスを取得できることは知っていますが、SDK が時々 を返すのはなぜnullですか?

4

2 に答える 2

5

「電子メール」は、ユーザーがアプリケーションを許可するときに与える必要のない拡張アクセス許可です。アプリを続行する前にユーザーに「メール」権限を付与する必要がある場合は、認証後にユーザーがワークフローを続行できるようにする前に、その権限が存在することを確認する必要があります。

使用する必要のあるグラフAPIエンドポイントは"/me/permissions"

これがまさにそれを行うために私が使用する方法です:

permissions要求された権限を表す文字列の配列です。

hasPermissions(["email"], function(hasPerms){
     alert(hasPerms);
 });

function hasPermissions(permissions, callback){
    console.log("perms requested");
    console.log(permissions);
    FB.api("/me/permissions", function(response){
        var hasPerms = true;
        console.log("perms obtaind");
        console.log(response);
        for(var i in permissions){
            console.log([permissions[i]] + " - " + response["data"][0][permissions[i]])
            hasPerms = hasPerms && response["data"][0][permissions[i]] == 1;
        }
        if(typeof callback == "function"){
            callback(hasPerms);     
        }       
    });
}
于 2012-04-14T17:01:46.313 に答える
0

メールが拡張アクセス許可セットの一部だとは思いません。認証ダイアログでメールの許可を求めましたが、認証ダイアログに表示されません。

于 2012-09-13T13:27:55.807 に答える