新しい API を使用して Google サインインを実装しようとしています: https://developers.google.com/identity/sign-in/web/
サインインとサインアウトは正常に機能します。私の問題は、サーバー側なしで他のページでセッションを管理する方法がわからないことです。
だから私はこのコードを試しました - https://developers.google.com/identity/sign-in/web/session-state
そして、それは私にとってはうまくいきません。すべてのページに Google サインイン ボタンを配置したくありません。「auth2.attachClickHandler ..」の部分を削除すると、コード全体が機能しません。
私が望むのは、ユーザーがまだ接続されているかどうかを他のページ (Google ボタンのあるページではなく) に示すことだけです。手伝って頂けますか?
編集: 回答で提案されている次のコードを試しましたが、次のようなエラーが表示されます:「不明な TypeError: 未定義のプロパティ 'init' を読み取れません」
コード:
var auth2 = gapi.auth2.init({
client_id : 'ID.apps.googleusercontent.com'
});
auth2.then(function() {
var isSignedIn = auth2.isSignedIn.get();
var currentUser = auth2.currentUser.get();
if (isSignedIn) {
console.log("signed in");
// User is signed in.
// Pass currentUser to onSignIn callback.
} else {
console.log("NOT signed in");
// User is not signed in.
// call auth2.attachClickHandler
// or even better call gapi.signin2.render
}
});