gpt4 book ai didi

android - GoogleAuthToken 在没有范围访问权限的情况下返回访问 token 并抛出错误使用限制

转载 作者:行者123 更新时间:2023-11-30 02:48:18 25 4
gpt4 key购买 nike

在 android 中,我给出了范围并调用了 GoogleAuthToken,如下所示

String scope = "oauth2:https://www.googleapis.com/auth/userinfo.profile https://gdata.youtube.com";
String accessToken = GoogleAuthUtil.getToken(mContext, emailID, scope);

我正在接收 accessToken。但我无法使用访问 token 在 youtube api 访问中使用。

我试过这样

    HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JacksonFactory JSON_FACTORY = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setJsonFactory(JSON_FACTORY)
.setTransport(HTTP_TRANSPORT)
.build();

credential.setAccessToken(accessToken);

YouTube youtube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName("youtube-cmdline-listbroadcasts-sample").build();
YouTube.LiveBroadcasts.List liveBroadcastRequest = youtube.liveBroadcasts().list("id");
liveBroadcastRequest.setBroadcastStatus("all");
liveBroadcastRequest.setMaxResults((long) 1);
liveBroadcastRequest.execute();

liveBroadcastRequest.execute() 给出错误

 com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "usageLimits",

"message" : "Access Not Configured. Please use Google Developers Console to activate the API for your project.",
"reason" : "accessNotConfigured"
} ],
"message" : "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}

有时 GoogleAuthToken 抛出异常,我正在获取并调用下面的内容

if (e instanceof UserRecoverableAuthException) {
// Unable to authenticate, such as when the user has not yet granted
// the app access to the account, but the user can fix this.
// Forward the user to an activity in Google Play services.
Intent intent = ((UserRecoverableAuthException)e).getIntent();
((Activity)context).startActivityForResult(intent,REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR);
}

它会请求许可。结束后,我将再次调用第一行代码,获得访问 token 。但同样的错误正在重复。

提前致谢

最佳答案

是的,我在Android中解决了这个问题

这是由于为应用程序提供了 API 访问权限。对于每台开发人员机器,应将 SHA1 提供给 API,并为每个 SHA1 创建单独的 Android API key 。

  1. 转到 console.developers.google.com -> 选择您的项目
  2. API & AUTH -> 凭据
  3. 创建新的客户端 key (尽管它有其他客户端 key )
  4. 选择已安装的应用程序 -> android
  5. 正确提供您的包名和 SHA1选择确定

您的问题将自动解决。

关于android - GoogleAuthToken 在没有范围访问权限的情况下返回访问 token 并抛出错误使用限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24633841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com