为 Google 课堂获取课程列表时出现 403 禁止错误
Posted
技术标签:
【中文标题】为 Google 课堂获取课程列表时出现 403 禁止错误【英文标题】:403 Forbidden error while fetching courses list for Google Clas-s-room 【发布时间】:2017-05-01 06:14:30 【问题描述】:我已将 Google Clas-s-room Api 集成到我的 android 应用程序中,过去几个月一切正常,但现在每次尝试从课堂获取课程列表时,我都会开始出现错误
错误:
403 禁止 “代码”:403, “错误”:[ “域”:“全球”, "message":"Google Clas-s-room API 之前没有在 google.com:api-project-60894XXXXXXX 项目中使用过或被禁用。通过访问启用它 https://console.developers.google.com/apis/api/clas-s-room.googleapis.com/overview?project=google.com:api-project-60894XXXXXXX 然后重试。如果您最近启用了此 API,请等待几分钟让该操作传播到我们的系统并重试。", “原因”:“禁止” ], "message":"Google Clas-s-room API 之前没有在 google.com:api-project-608941808256 项目中使用或被禁用。通过访问启用它 https://console.developers.google.com/apis/api/clas-s-room.googleapis.com/overview?project=google.com:api-project-60894XXXXXXX 然后重试。如果您最近启用了此 API,请等待几分钟让该操作传播到我们的系统并重试。", “状态”:“PERMISSION_DENIED”
注意:我已经从以下文档中实现了 Google Clas-s-room 集成 https://developers.google.com/clas-s-room/quickstart/android
另外, 在我的未签名/调试版本上一切正常。
所以我的问题是因为我没有禁用任何权限,而且它在调试/未签名的构建/apk 上运行良好,可能是什么原因和解决方案。
【问题讨论】:
【参考方案1】:您的发布版本应该使用与调试版本不同的密钥(在课堂上,他们会在 /.android/debug.keystore
中创建一个调试版本)。
必须在 Google API 控制台上输入密钥 SHA1,确保您的版本 SHA1 也在控制台上输入。如果需要,使用发布 SHA1 重新执行课堂的步骤 2.a。
【讨论】:
是否需要在 Google API 控制台上创建另一个项目,其中已签名的 SHA1 密钥与包名一起保存? 您不需要另一个项目,您可以为现有项目提供新的凭据。在向导建议的步骤 2a 中,您可以选择现有项目并直接转到步骤 2d(创建新凭据)以上是关于为 Google 课堂获取课程列表时出现 403 禁止错误的主要内容,如果未能解决你的问题,请参考以下文章
在 Google 课堂 API 中使用学生副本发布课程作业时出现内部错误 可能的错误?
Google Directory API:使用服务帐户检索用户信息时出现 403
尝试在 Android 中登录 Google 游戏服务时出现错误 403