2017-04-10 9 views
0

Googleが提供するチュートリアルを使用して自分のウェブサイトにGoogleログインを実装しました。しかし、profile.logにプロファイル情報を保存するのではなく、自分のWebページにプロファイル情報を表示したいのです。これは現在保有しているコードです:Googleログインを変更してconsole.logの代わりにプロフィール情報を表示する方法

<div class="g-signin2" data-onsuccess="onSignIn"></div> 
<script> 
    function onSignIn(googleUser) { 
     var profile = googleUser.getBasicProfile(); 
     console.log("ID: " + profile.getId()); 
     console.log('Full Name: ' + profile.getName()); 
     console.log('Given Name: ' + profile.getGivenName()); 
     console.log('Family Name: ' + profile.getFamilyName()); 
     console.log("Image URL: " + profile.getImageUrl()); 
     console.log("Email: " + profile.getEmail()); 
    }; 
</script> 

どうすれば変更できますか?

答えて

1

まず最初に、まだ完了していない場合は、Creating a Google API Console project and client IDから開始する必要があります。

すでにこれを行っている場合は、HTMLに必要なコードを埋め込みます。まず、<head></head>タグの間にこの行を追加して、Googleプラットフォームへの参照を追加する必要があります。

<script src="https://apis.google.com/js/platform.js" async defer></script> 

その後、あなた<body></body>タグ間下のコードを挿入します。

<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div> 

ここで関数を呼び出し、ユーザーデータをHTMLに割り当てます。今すぐあなたの<body>

NOTE: You may call it from another file, but i am not going to mention it here.

<script> 
function onSignIn(googleUser) { 
    var profile = googleUser.getBasicProfile(); 
    var data = ''; 
    data += '<ul>'; 
    data += '<li><img src="' + profile.getImageUrl() + '"/></li>'; 
    data += '<li>ID: ' + profile.getId() + '</li>'; 
    data += '<li>Full Name: ' + profile.getName() + '</li>'; 
    data += '<li>Given Name: ' + profile.getGivenName() + '</li>'; 
    data += '<li>Family Name: ' + profile.getFamilyName() + '</li>'; 
    data += '<li>Email: ' + profile.getEmail() + '</li>'; 
    data += '</ul>'; 
    document.getElementsByClassName("aClassOfYourOwn")[0].innerHTML =data; 
}; 
</script> 

NOTE 2: This is only one way of handling this, as you may assign new variables, and call them anywhere you like, but this is only for starter.

<script></script>タグ内のこれらの行を追加し、新しいdiv要素を作成するための時間です。あなたがGoogleから得たものを使うことができるように。ですので、これを行うには、<body>タグ内にこの行を追加してください。それはあなた次第です多分右

<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div> 

<div class="aClassOfYourOwn"></div> 

。 最後に、サインアウトオプションを追加する場合は、<body>タグ内にこの行を追加します。

<a href="#" onclick="signOut();">Sign out</a> 

そしてもちろん、あなたが見ているかもしれませんが、我々はsignOut()という関数を宣言していません。だからそれを宣言しましょう。

<script> 
function signOut() { 
    var auth2 = gapi.auth2.getAuthInstance(); 
    auth2.signOut().then(function() { 
    console.log('User signed out.'); 
    var data = 'There is no user signed in'; 
    document.getElementsByClassName("g-signin3")[0].innerHTML =data; 
    }); 
} 
</script> 

これはデモ用です。もちろんを表示するユーザーデータは意味がありません。しかし、それで何ができるかは無限です。 たとえば、IDを取得してユーザーをそれぞれのページに誘導することができます。

+0

私はちょうどこのソリューションを実装しようとしましたが、動作していないようです –

+0

"Uncaught ReferenceError:$が定義されていません"というエラーが表示されます –

+0

HTMLにJqueryがありますか?そうでない場合は、ダウンロードするか、 '

関連する問題