1

Google Web コンポーネントの google-signin要素を使用していますが、ユーザー情報を返す方法がわかりません。

<google-signin
      client-id="{{my-id}}" scopes="email profile"
      signed-in="{{signedIn}}"></google-signin>

JS関数を書き込もうとしましたが、うまくいきませんでした。

function (signedIn) {
       var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
       console.log('Name: ' + profile.getName());
       console.log('Image: ' + profile.getImageUrl());
  }

これがばかげた質問でしたらすみませんが、私は Web 開発が苦手です。アドバイスありがとうございます。

4

1 に答える 1

3

ポリマーのドキュメントから:

ユーザーが認証に成功すると google-signin-success イベントがトリガーされ、そうない場合はgoogle-signin-failureがトリガーされます。どちらのイベントも、Google クライアント認証プロセスによって返されるデータを提供します。isAuthorized 属性を使用して認証状態を観察することもできます。

ユーザーがサインアウトを試みて正常にサインアウトすると、 google-signout-attemptedgoogle-signed-outなどの追加のイベントがトリガーされます。

google-signin-aware 要素を介してリクエストされたスコープが追加のユーザー権限を必要とする場合、google-signin-necessary イベントが発生します

https://elements.polymer-project.org/elements/google-signin

<google-signin ... id="myLoginIn"></google-signin>
<script>
  var t = document.querySelector('#t');

  t.addEventListener('google-signin-success', function(data) {
    ...
  });
</script>

または、次を使用できます。

<google-signin client-id="{{my-id}}" scopes="email profile" signed-in="{{signedIn}}"></google-signin>

<google-signin-aware
        scopes="{{scope}}"
        signed-in="{{signedIn}}"
        is-authorized="{{isAuthorized}}"
        need-additional-auth="{{needAdditionalAuth}}"
        on-google-signin-aware-success="handleSignIn"
        on-google-signin-aware-signed-out="handleSignOut"></google-signin-aware>

そして、次のようなユーザー名を取得できます。

var aware = document.querySelector('#awareness');
aware.handleSignIn = function(response) {
      console.log('[Aware] Signin Response', response);
      var userName = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile().getName();
};

ここで完全なデモを見つけることができます: https://github.com/GoogleWebComponents/google-signin/blob/master/demo/index.html

于 2015-06-17T15:43:15.393 に答える