Как получить токен обновления из Google Sign-In? - PullRequest
0 голосов
/ 09 мая 2018

Я создал прототип, чтобы запросить у пользователя разрешение на доступ к его Календару Google с помощью веб-форм ASP.NET.

Вот мой код:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="GoogleSignInDemo.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <meta name="google-signin-scope" content="profile email">
    <meta name="google-signin-client_id" content="CLIENT_ID.apps.googleusercontent.com">
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <script src="Resources/jquery.js" ></script>
</head>
<body>
    <div class="g-signin2" data-theme="dark" onclick="onSignInCalendar()"></div>
    <script>
        function onSignInCalendar() {
            var auth2 = gapi.auth2.getAuthInstance();
            var options = new gapi.auth2.SigninOptionsBuilder(
                { 'scope': 'email https://www.googleapis.com/auth/calendar' });

            googleUser = auth2.currentUser.get();
            googleUser.grant(options).then(
                function (success) {
                    console.log(JSON.stringify({ message: "success", value: success }));
                    var accessToken = success.Zi.access_token;
                    var idToken = success.Zi.id_token;
                },
                function (fail) {
                    alert(JSON.stringify({ message: "fail", value: fail }));
                });
        }
    </script>
</body>
</html>

Работает нормально. Тем не менее, ответ от Google содержат только access_token и id_token. Я не могу найти refresh_token там.

Кто-нибудь знает, как его получить?

...