Google+ で GoogleAPI を使用するようになりました
2013 年 12 月現在、最新の Web サイトは次のとおりです。
https://developers.google.com/+/
次に、SignIn for Web
https://developers.google.com/+/web/signin/
サインイン フローの選択
→クライアント側の流れ
-> JavaScript でサインイン フローを開始します(これは最新のテクノロジだと思います) 。
https://developers.google.com/+/web/signin/javascript-flow
JavaScript を使用して Google+ サインイン フローを開始する
gapi.auth.signIn()
メソッドを使用して、Google+ サインイン フローを開始できます。この方法を使用すると、ユーザーにアプリの承認とサインインを求める方法とタイミングを柔軟に決定できます。
https://developers.google.com/+/web/api/javascript#gapiauthsigninparameters
gapi.auth.signIn(パラメータ)
クライアント側の Google+ サインイン OAuth 2.0 フローを開始します。gapi.auth.authorize() と同様ですが、このメソッドは Android アプリの無線インストールを含む高度な Google+ サインイン機能をサポートしています。このメソッドは、Google+ サインイン ボタン ウィジェットの使用に代わる JavaScript です。
https://developers.google.com/+/web/signin/javascript-flow
- gapi.auth.signIn()でサインイン フローをトリガーするページを試す
https://google-developers.appspot.com/+/demos/signin_demo_render (ソースコード)
あなたはこれを試して、あなた自身のためにフォローしてください
ステップ 1: クライアント ID とクライアント シークレットを作成する
次の手順は無視してください。
実際には clientID のみが必要で、上記のTry itのソース コードにあるものを置き換えます。
スコープを追加 https://www.googleapis.com/auth/userinfo.email
var options = {
'callback': loginFinished,
'approvalprompt': 'force',
'clientid': 'YOURID.apps.googleusercontent.com',
'scope': 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email',
'requestvisibleactions': 'http://schemas.google.com/CommentActivity http://schemas.google.com/ReviewActivity',
'cookiepolicy': 'single_host_origin'
};
追加
gapi.client.load('oauth2', 'v2', function()
{
gapi.client.oauth2.userinfo.get()
.execute(function(resp)
{
// Shows user email
console.log(resp.email);
});
});
上記に基づいた完全に機能する簡潔なコードを次に示します。
<html>
<head>
<title>Google+ Sign-in button demo: rendering with JavaScript</title>
<style type="text/css">
html, body { margin: 0; padding:0;}
#signin-button {
padding: 5px;
}
#oauth2-results pre { margin: 0; padding:0; width: 600px;}
.hide { display: none;}
.show { display: block;}
</style>
<script src="https://apis.google.com/js/client:platform.js" type="text/javascript"></script>
<script type="text/javascript">
var loginFinished = function(authResult)
{
if (authResult)
{
console.log(authResult);
}
gapi.client.load('oauth2', 'v2', function()
{
gapi.client.oauth2.userinfo.get()
.execute(function(resp)
{
// Shows user email
console.log(resp.email);
});
});
};
var options = {
'callback': loginFinished,
'approvalprompt': 'force',
'clientid': 'YOURID.apps.googleusercontent.com',
'scope': 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email',
'requestvisibleactions': 'http://schemas.google.com/CommentActivity http://schemas.google.com/ReviewActivity',
'cookiepolicy': 'single_host_origin'
};
var renderBtn = function()
{
gapi.signin.render('renderMe', options);
}
</script>
</head>
<body onload ="renderBtn()">
<div id="renderMe"></div>
</body>
</html>
HTML 出力はありませんが、コンソールです。ブラウザの Developers Console ツールを開いて結果を表示します。