0

我花了最后一天(注意:新手 Objective-C 程序员,但有很多其他语言的经验)弄清楚为什么gtm-oauth2无法连接到Basecamp API,但现在我已经放弃并在这里询问。

所以我有一个从头开始编写的应用程序,但它没有工作,所以我破解了 gtm-oauth2 提供的官方 OAuth2Sample,只是用Basecamp Auth的正确值更改了 Dailymotion 示例的值,我得到了同样的错误。

我得到登录页面,然后是授权页面,当我单击“是,我将允许访问”时发生错误。

在 API 控制台中,我得到:

The operation couldn’t be completed. (com.google.GTMOAuth2 error -1000.)

在 Xcode 输出中我得到:

2012-12-05 09:35:45.569 OAuth2Sample[29512:303] *** Assertion failure in -[GTMOAuth2SignIn requestRedirectedToRequest:], /Path/To/Xcode/gtm-oauth2-read-only/Examples/OAuth2Sample/../../Source/GTMOAuth2SignIn.m:400
2012-12-05 09:35:45.570 OAuth2Sample[29512:303] *** WebKit discarded an uncaught exception in the webView:resource:willSendRequest:redirectResponse:fromDataSource: delegate: <NSInternalInconsistencyException> response lacks auth code or error

如前所述,代码与 Google 提供的示例中的代码相同,我只是更改了身份验证、令牌和重定向 URL 值。

更新:将其缩小为:在第 394 行NSString *responseStr = [[redirectedRequest URL] query];,应该获取查询,但由于 URL 是

2012-12-05 14:02:18.591 Basecamper[32630:303] req: http://madebybandit.com/#access_token=BAhbBy…long token here…2898

所以我尝试fragment了,而不是query现在它抛出了这个:

2012-12-05 14:07:05.955 Basecamper[32630:303] -[__NSCFString unsignedLongValue]: unrecognized selector sent to instance 0x101a74f30
2012-12-05 14:07:05.956 Basecamper[32630:303] *** WebKit discarded an uncaught exception in the webView:resource:willSendRequest:redirectResponse:fromDataSource: delegate: <NSInvalidArgumentException> -[__NSCFString unsignedLongValue]: unrecognized selector sent to instance 0x101a74f30

怎么办?

4

1 回答 1

0

通过使用完美运行的OAuth2Client来“修复它” 。

于 2012-12-05T22:31:06.213 回答