2016-07-02 3 views
0

2 일 동안 나는 트위터에 대해 (나는 그것을 사용해야 만한다) 요청을하려고 노력했지만, 내가 잘못하고있는 것의 나머지로부터 좋은 피드백을 얻지는 못한다. 트위터 승인

내 요청입니다 :

HttpResponse request = Unirest.post("https://api.twitter.com/1.1/account/settings.json") 
      .header("Authorization", 
        "oauth_consumer_key=\"XXX\"," + 
          "oauth_token=\"XXX\"," + 
          "oauth_signature=\"XXX\"" + 
          "oauth_nonce=\"XXX\"," + 
          "oauth_signature_method=\"HMAC-SHA1\"," + 
          "oauth_timestamp=\"1467448738\"," + 
          "oauth_version=\"1.0\"," 
      ) 
      .header("Content-Type", "application/json") 
      .header("accept", "application/json") 
      .header("X-Target-URI", "https://api.twitter.com") 
      .header("Host", "api.twitter.com") 
      .header("Connection", "Keep-Alive").asJson(); 

그리고 나는 그것이 HTTPS를 할 쉽게 해당 페이지로

{"errors":[{"code":215,"message":"Bad Authentication data."}]} 

받고 있어요 : // apigee.com/console/twitter하지만 참조 oauth_timestamp, oauth_nonce, oauth_signature는 매번 임의로 생성됩니다. (어떻게 든 그들을 생성해야합니까?)

에 http : // quonos.nl/oauthTester/ -이 사이트 날의 OAuth 서명

그리고이 HTTPS를 확인하는 데 도움이되었다 : // dev.twitter.com/ oauth/tools/signature-generator/< + my id> 나를 위해 생성 Signature base string, 인증 헤더, cURL 명령

https : // apps.twitter.com/app/소비자 키 API 키) 소비자 암호 (API 암호) 액세스 토큰 액세스 토큰 비밀 (및 액세스 읽기, 쓰기 및 dir ect 메시지)

하지만 때마다 오류가 발생합니다.

내 코드에 무슨 문제가 있습니까? 나는 무엇인가 놓치고 있니?

감사합니다.

답변

1

oauth_timestamp가 임의로 생성되지 않았 으면 현재 시간입니다. 예 : 위의 예는 아래의 도움말 페이지, 예를 들어에 기재된

Sat, 02 Jul 2016 08:38:58 GMT 

oauth_nonce은 랜덤 (http://www.onlineconversion.com/unix_time.htm로 확인)한다 "base64 인코딩 32 바이트 임의의 데이터".

oauth_signature이이 서명에 대한 몇 가지 예제 코드입니다 때로는 등 비밀 몸, 클라이언트 토큰/

https://dev.twitter.com/oauth/overview/authorizing-requests https://dev.twitter.com/oauth/overview/creating-signatures

를 게시, 귀하의 요청 매개 변수를 기반으로 계산

https://github.com/yschimke/oksocial/blob/master/src/main/java/com/baulsupp/oksocial/services/twitter/Signature.java

요청한다