2012-12-05 6 views
0

gtm-oauth2Basecamp API에 연결되지 않는 이유를 알아 낸 끝에 마지막 날을 보냈습니다 (참고 : Objective-C 프로그래머 초보자지만 다른 언어로는 많은 경험이 있습니다) 포기하고 여기에서 묻습니다. 그래서 GTM-OAuth2를 제공 공식 OAuth2Sample를 해킹 단지 Basecamp Auth에 대한 올바른 값으로 데일리 모션 예제의 값을 변경하고 내가 같은 가지고gtm-oauth2가 포함 된 Basecamp API에 연결할 수 없습니다

그래서 나는 처음부터 기록 된 응용 프로그램을 가지고 있고 그것은 작동하지 않았다 오류.

나는 로그인 페이지 다음 인증 페이지를 얻을 나는 "예, 액세스를 허용 것"클릭 할 때 오류가 발생합니다.

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

을하고 Xcode의 출력에서 ​​내가 얻을 : API를 콘솔에서

내가 얻을 구글이 샘플을 제공 같이

언급 한 바와 같이
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 

는, 코드가 동일, 난 그냥 auth, token 및 redirect URL 값을 변경했습니다.

UPDATE :이 좁혀 : 라인 394에 URL이

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

그래서 내가이를 던졌습니다 그래서 지금 대신 queryfragment을 시도하기 때문에 쿼리를 얻을 수 있지만, 전무를 얻을해야 NSString *responseStr = [[redirectedRequest URL] 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 

이제 어떻게 되나요?

+0

어떤 응답을 수신하는 서버 또는 전송되고 있는지 알 수있는 게시물에 정보가 충분하지 않습니다. gtm-oauth2 코드는 액세스 토큰이 아닌 리디렉션 URL에서 액세스 코드를 얻으려고하므로 Basecamp의 프로토콜이나 사용법이 라이브러리가 기대하는 것과 너무 다릅니다. – grobbins

+0

@grobbins 업데이트에서 설명했듯이 Basecamp API가 # 대신에 #을 제외한 모든 것을 올바르게 수행한다는 것을 이미 알았습니까? URL에 하지만 이제는'unsigned long deltaSeconds = [expiresIn unsignedLongValue]; '라는 오류가 있습니다. 나는 거기 중단 점 (ID)'내가하려고 할 때 $ (51) = 0x0000000101d665d0 1209600'하지만이'포는 [expiresIn이 unsignedLongValue]'가 반환'포 expiresIn' 내가 얻을'(의 NSNumber *)를 할 때 $ (52) = 0x0000000000000000 '응용 프로그램 충돌 때문에 . –

답변

0

는 완벽하게 작동 OAuth2Client를 사용하여 "그것을 해결".

관련 문제