gtm-oauth2이 Basecamp 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
그래서 내가이를 던졌습니다 그래서 지금 대신
query
의
fragment
을 시도하기 때문에 쿼리를 얻을 수 있지만, 전무를 얻을해야
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
이제 어떻게 되나요?
어떤 응답을 수신하는 서버 또는 전송되고 있는지 알 수있는 게시물에 정보가 충분하지 않습니다. gtm-oauth2 코드는 액세스 토큰이 아닌 리디렉션 URL에서 액세스 코드를 얻으려고하므로 Basecamp의 프로토콜이나 사용법이 라이브러리가 기대하는 것과 너무 다릅니다. – grobbins
@grobbins 업데이트에서 설명했듯이 Basecamp API가 # 대신에 #을 제외한 모든 것을 올바르게 수행한다는 것을 이미 알았습니까? URL에 하지만 이제는'unsigned long deltaSeconds = [expiresIn unsignedLongValue]; '라는 오류가 있습니다. 나는 거기 중단 점 (ID)'내가하려고 할 때 $ (51) = 0x0000000101d665d0 1209600'하지만이'포는 [expiresIn이 unsignedLongValue]'가 반환'포 expiresIn' 내가 얻을'(의 NSNumber *)를 할 때 $ (52) = 0x0000000000000000 '응용 프로그램 충돌 때문에 . –