3

angularJs で webapp を作成し、認証にsatellizerを使用しています。Google を使用して認証することはできますが、UI コードのどこかで認証されたユーザーの電子メール ID を取得する方法がわかりませんでした。ドキュメントで電子メールIDを取得する関数も見つかりませんでした 。

4

1 に答える 1

1

私がしなければならなかったのは、ブラウザのローカル メモリに保存された access_token サテライザーを使用して googleapis をヒットすることだけでした。これにより、ユーザー情報が返されます。参照用のサービスは次のとおりです。

angular.module('MyApp')
    .factory('Google', ['$resource', '$auth', Google]);

function Google($resource, $auth) {
    return $resource("https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=" + $auth.getToken(), {}, {})
}

ログインしているユーザーの電子メール ID を取得するには、次のようにします。

var googleResponse = Google.get({}, function () {
    var email = googleResponse.email;
});
于 2015-11-05T01:48:23.290 に答える