0
OAuth가 보호하는 URL에 이미지를 저장하려고합니다. 스펙 문서를 살펴 봤지만 모든 것을 올바르게 처리하지 못하는 것 같습니다. OAuth로 보호 된 URL에서 GET 호출하기
NSString *oauthHeader = @"Authorization: OAuth ";
oauthHeader = [oauthHeader stringByAppendingFormat:@"oauth_consumer_key=%@",oauthConsumerKey];
oauthHeader = [oauthHeader stringByAppendingFormat:@",oauth_token=%@",oauthAccessToken];
oauthHeader = [oauthHeader stringByAppendingFormat:@",oauth_signature_method=HMAC-SHA1"];
oauthHeader = [oauthHeader stringByAppendingFormat:@",oauth_signature=%@",escapedString];
oauthHeader = [oauthHeader stringByAppendingFormat:@",oauth_timestamp=%d",oauthTimeStamp];
oauthHeader = [oauthHeader stringByAppendingFormat:@",oauth_nonce=%@",oauthNonce];
oauthHeader = [oauthHeader stringByAppendingFormat:@",oauth_version=1.0"];
는 HTTP 요청에 권한을 추가합니다 :
는의 OAuth 인증 헤더를 구축 :
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[request setValue:oauthHeader forHTTPHeaderField:@"Authorization"];
을 그리고 그것을 보내 여기에 내가 뭘하는지입니다.
404 코드로 응답이 다시 나타납니다. URL에 OAuth 보호 기능을 사용하지 않도록 설정했는지 테스트 할 때 정상적으로 검색 할 수 있기 때문에 URL의 정확성을 확신합니다.
나에게 뭔가 이상한 행동이 생길 수 있습니까? 감사합니다.
맞습니다. 현재 서명 방법이 PLAINTEXT (생성 코드가 내 게시물에 포함되지 않은'escapedString') 인 것처럼 생성됩니다. HMAC-SHA1 인코딩을 얻는 중입니다. 예상보다 어렵습니다. iOS의 모든 샘플 코드에서 나를 가리킬 수 있습니까? 감사. – Steven
샘플 코드가 없지만 OAuth 서명 코드를 직접 작성하는 것을 권장하지 않습니다. 사용 가능한 대부분의 프로그래밍 언어에는 우수한 OAuth 라이브러리가 있습니다. –