【问题标题】:Using serverAuthCode to retrive refreshToken and accessToken - code sample使用服务器 AuthCode 检索刷新 Token 和 accessToken - 代码示例
【发布时间】:2015-12-20 03:27:43
【问题描述】:

来自 google API 文档 url 最后一段“将 serverAuthCode 字符串安全地传递给您的服务器,这将交换访问令牌和刷新令牌的代码”。我不确定如何处理serverAuthCode。使用serverAuthCode 获取accessTokenrefreshToken 的代码示例在哪里?

【问题讨论】:

  • 我面临同样的问题。你找到解决方案了吗?
  • 您找到解决方案了吗?

标签: google-api google-api-java-client google-api-client google-signin


【解决方案1】:

com.iavian给出的解决方案很完美,

在我的情况下,我从 https://github.com/react-native-google-signin/google-signin 获取 serverAuthCode,

然后你可以在后台做下面的代码

import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest;
import com.google.api.client.googleapis.auth.oauth2.GoogleTokenResponse;

    public static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
    public static final JsonFactory JSON_FACTORY = new JacksonFactory();
GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, Your_OAUTH_CLIENTID, Your_OAUTH_CLIENTSECRET, Serverauthcode_from_react_native, "").execute();

注意:serverAuthCode只能使用一次,从你得到的response中你应该存储refreshToken,下次使用refreshToken获取AccessToken

【讨论】:

    【解决方案2】:

    以下是一个人必须做的事情

    GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest(httpTransport, jsonFactory, Main.GMAIL_OAUTH_CLIENTID, Main.GMAIL_OAUTH_CLIENTSECRET, X.getServerauthcode(), "").execute();
    X.setServeraccesstoken(response.getAccessToken());
    X.setServerrefreshtoken(response.getRefreshToken());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 2015-03-22
      相关资源
      最近更新 更多