问题标签 [gtm-oauth2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
654 浏览

ios - 使用 GTMOAuth2 难以通过谷歌存储验证 iOS

我已经为此工作了一天多,所以现在寻求帮助!我正在尝试编写一个使用 google 服务帐户进行身份验证的 iOS 应用程序,以便访问 Google 存储。

我无法超越在 authoriseRequest 和尝试创建存储桶时发生的这个错误。

错误 Domain=com.google.GTMOAuth2 Code=-1001 “操作无法完成。(com.google.GTMOAuth2 错误 -1001。)” UserInfo=0x15640740 {request= { URL: https://www.googleapis. com/rpc?prettyPrint=false }}

这是我第一次使用 google 目标 c 库和我在网上找到的几乎所有示例,并且在 stackOverflow 中旨在使用 GTMOAuth2ViewControllerTouch,但我没有从用户那里进行身份验证

到目前为止,我已经得到了这个。

在我的初始化之前..

在我的初始化..

例如,在创建存储桶的方法中..

我的问题是,我是否正确使用 gtmoauth2 库进行服务帐户身份验证,如果是,我是否在参数或初始化中遗漏了一些明显的东西。

谢谢

0 投票
0 回答
720 浏览

ios - iOS Google 登录无法在新范围内正常工作

Google 的弃用公告中,他们说开发人员需要从这些范围迁移:

而是使用这些范围:

但是,在我的 App-Engine 后端这样做之后,我的 iOS 应用程序出现了问题。第一次运行时,它要求我登录,屏幕正确显示两个范围,之后应用程序运行正常。在第二次运行时,它应该从受保护的存储中检索授权凭据,但它不起作用,因为 App-Engine 服务器正在接收端点null中的User参数。

App-Engine 端点同时需要范围emailprofile范围。用于检索以前凭据的 iOS 代码是:

如果没有以前的凭据,则用于身份验证的 iOS 代码是:

这曾经工作得很好!现在 App-Engine 服务器将 email 范围从.../userinfo.emailtoemail和 profile 范围从.../userinfo.profileto profileConstants.EMAIL_SCOPEiPad 应用程序对设置为任一值的新后端表现出相同的行为。

google-api-objectivec-client库是最新的 v0510。

我的应用程序的 Android 版本在后端更改后无需任何代码更改即可继续正常工作。

2015-02-26 更新:现在使用 google-api-objectivec-client 的 r424 (2014-12-30)。没变。如果 AppEngine 后端使用新的“配置文件”和“电子邮件”范围,则 iOS 应用程序无法在第二次(或以后)运行时进行身份验证,它从商店加载凭据而不是通过登录流程。

第一个(登录凭据)的 AppEngine 日志显示:

第二个(加载的凭据)的 AppEngine 日志显示:

此异常不会向上传播;null为用户返回。

是否需要做其他事情才能GTMOAuth2ViewControllerTouch使新范围正常工作?或者 AppEngine 方面可能有问题?

0 投票
2 回答
1331 浏览

objective-c - 无法让选择器为我的 Swift 函数工作

我有一个混合的 Swift 和 Objective C 应用程序。swift 应用程序使用一些 ObjectiveC 库来处理 OAuth2 身份验证。一旦对令牌的 OAuth2 请求完成,其中一部分是对委托方法的回调。

以下代码正在使用我传入的选择器的 Objective C 库 (GTMOAuth2) 中执行:

我想调用的函数在我的 swift viewController 中,看起来像这样:

我目前传入的选择器是:

并在此调用中用作参数:

谁能告诉我为什么我的函数永远不会被调用?它似乎总是在创建 NSInvocation 的那一行失败。

我尝试了多个选择器字符串,但每个字符串似乎都失败了。我错过了什么吗?

我也尝试将“@objc”放在函数名称前面,但无济于事。

0 投票
1 回答
322 浏览

gtm-oauth2 - 在 GoToMeeting 中生成身份验证令牌的凭据无效

我在 GoToMeeting 中创建了试用帐户,我想使用 restful api 服务。为此,我需要尝试使用以下 URL 生成的 Oauth 令牌: https ://developer.citrixonline.com/authentication-and-authorization 但是当我输入用户名和密码时,它会显示无效凭据的错误。但是使用相同的凭据我可以登录到https://developer.citrixonline.com而不会出现任何错误。

0 投票
1 回答
231 浏览

ios - iOS 上的 GTM OAuth 2.0 - 检索用户的电子邮件

GTMOAuth 2.0 似乎是 iOS 上 OAuth 2.0 验证的绝佳工具。我正在尝试通过在 Xcode 中实现 GTMOAuth-2 来检索 Google 用户的全名和电子邮件,但遇到了一些麻烦。基于这个答案:Retrieve User email using GTM OAuth2 for iOS,它应该像调用一样简单auth.userEmailauth.userEmail但是,问题是在以下代码段中调用总是返回null

}

代码成功运行并检索访问令牌,但auth.userEmail始终为null. 我是否需要使用 GTMOAuth 2.0 的Fetcher对象向 Google 电子邮件端点发出请求,或者发送额外的 HTTP GET 请求以使用 检索用户的电子邮件auth.accessToken

0 投票
1 回答
255 浏览

objective-c - OAuth2 登录使用 gtm-oauth-2,而不是使用 google-api-objc-client

我首先在我的应用程序上实现gtm-oauth2以测试使用 Google 的 OAuth 登录。然后,由于我需要访问 Google 日历,我删除gtm-oauth2并安装了google-api-objectivec-client。现在,我收到以下错误:

我正在使用这段代码(我尝试使用 obj-c,得到了同样的错误):

我试图理解为什么两天后。任何的想法 ?

编辑:我创建了一个重现错误的 repo。

0 投票
1 回答
636 浏览

youtube - GTMOAuth2Authentication 不工作

我正在尝试使用 Google 的 OAuth2 和 YouTube API。OAuth 返回GTMOAuth2Authentication对象,然后您可以使用该对象向 YouTube 等服务发出请求。我的登录工作正常,当我手动通过身份验证对象时,我可以发出请求。

但是,我也应该能够通过钥匙串访问身份验证对象,并且我收到了一个有效的对象,但是如果我尝试使用它来发出请求,我就不能。我不断收到以下错误:“操作无法完成。(com.google.GTMHTTPFetcher 错误 -1。)”如果有人能指出我的错误,我将不胜感激。我正在测试真正的 iPhone 5s。

验证码:

身份验证完成处理程序:

YouTube 客户端初始化:

要求:

0 投票
1 回答
244 浏览

ios - 仅使用 youtube IOS API 在 Youtube 中的视频上传问题 新的 google 帐户

问题场景:我尝试在新的 Google 帐户中使用 iOS Youtube API 将视频上传到 youtube。记录成功后,我得到以下异常。你能告诉我如何在目标c中修复吗?如何修复它请告诉我

我在我得到的代码中删除了调试

工作场景: 我尝试用旧的谷歌账户上传(这个账户已经登录并手动创建了chennal)视频上传成功。

0 投票
1 回答
71 浏览

ios - Google API 更改导致我的应用出现问题

我在 App Store 上有一个 iOS 应用程序,它连接到 Google Drive。在过去一周左右的时间里,我注意到我的live app中有两个新问题。

应用程序突然停止登录。我会收到 401 - invalid_client。我发现了很多关于这个问题的问题/答案,但它们都是针对那些无法让它工作的人。我的工作了大约两年,然后几天前停止工作。在尝试了很多东西之后,我发现我正在使用<id>@developer.gserviceaccount.com我的客户端 ID,当我将它更改为它时,<id>.apps.googleusercontent.com它又可以工作了。我不知道为什么此更改修复了它,即使知道这修复了它,我也找不到这是否是正确/适当的解决方案。

我解释了我的第二个问题,这里非常具体,但请跳到下一段来切入正题。第二个问题是由于 Google 改变了他们的 API 调用响应方式,这就是为什么当我们将最新版本的应用程序提交到 App Store 时这不是问题的原因。Google 已经改变了 GTLDriveFile 类的 explicitTrashed 属性的方式。根据他们的规范,这个属性应该是一个包含 Yes 的 NSNumber,或者是 null。他们最近对其进行了更改,使其始终将 NSNumber 设置为 Yes 或 No。这破坏了我们的功能。

无论如何,这是谷歌最近做出的两项改变,目前我的客户处于搁置状态,因为我必须解决这个问题并将其推出。我的问题是,是否有地方跟上 Google 最近所做的这些变化。另外,如果有人知道或可以指出为什么会发生第一个问题,我将不胜感激。

0 投票
1 回答
56 浏览

ios - 如何使用 GTMOAuth2 在 ios 上获取用户 gplus 好友

我的 ios 应用程序在 GTMOAth2 上登录了 gmail。然后,我可以获取 gplus 朋友的电子邮件,还是可以使用 GTMOAth2 令牌来获取 gplus 信息?