ios - 使用 iOS 客户端 ID 时,Google API 无法进行身份验证

标签 ios google-api oauth-2.0

我正在尝试将 Google 数据 API 集成到我的应用程序中。我正在使用此处提供的 ObjC 包装器:

http://code.google.com/p/gdata-objectivec-client

但我在身份验证方面遇到了一些问题。基本上,我按照此处描述的步骤操作:

http://code.google.com/p/gtm-oauth2/wiki/Introduction#Signing_In_to_Google_Services

我在 API 控制台上创建了一个项目,并为已安装的应用程序添加了两个客户端 ID:一个是“其他”平台,另一个是“iOS”,并适当设置了 bundle ID(尽管我将应用商店 ID 保留为 0暂时)。有趣的部分来了。

与上述包装器库捆绑在一起的 YouTubeSample 应用程序和我的 iOS 应用程序都与属于“其他”平台的客户端 ID 完美配合,当我切换时它们都返回 400 invalid_client 错误iOS 的 ID。我仔细检查了客户端 ID 和 secret ,都是正确的。 iOS 应用程序当然已获得正确的包 ID。

那么,我是不是漏掉了一些微不足道的东西?

最佳答案

是否有理由需要使用 iOS 类型的 id/secret 对而不是其他类型的对?也许我遗漏了一些东西,但链接的文档指出不使用 iOS 类型的客户端 ID:

In the console, create a project, then click "API Access" in the left column. Create a new Client ID for an Installed Application (not a web application) type other (not iOS). This will provide Client ID and Secret strings to be used with the controller.

Controller 在发送请求时可能不会将自己标识为 iOS 应用程序,Google 可能会在收到 iOS id/secret 对时检查它。

关于ios - 使用 iOS 客户端 ID 时,Google API 无法进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11282853/

相关文章:

objective-c - locationOfTouch 和 numberOfTouches

ios - 在 iOS 10 或更低版本中,当它处于后台或处于打开状态时从应用程序获取来电号码?

javascript - 如何使用 CORS 实现 JavaScript Google Places API 请求

javascript - Google Drive API——直接下载不同格式的视频

oauth - OAuth 1 的 future 是什么?

java - 向没有证书文件的苹果设备推送通知

ios - 在 Swift 4 中解析 JSON 中的 double (例如 1.0)而不丢失小数点?

c# - 避免 Google Calendar API 在人们的日历中添加实际事件?

node.js - 由于同意屏幕,无法创建 Google oAuth 客户端 ID

json - 使用 Power BI 使用的 JSON Web API 进行 AAD 身份验证