2010-03-02 5 views
7

Tôi đang sử dụng URI phương thức sau để yêu cầu mã thông báo từ twitter.Cách nhận request_token sử dụng OAuth với twitter

Lưu ý: ở đây các dòng mới chỉ dành cho mục đích hiển thị.

http://twitter.com/oauth/request_token? 
oauth_consumer_key=9cS99b2406CUpATOeggeA& 
oauth_signature_method=HMAC-SHA1& 
oauth_signature=3e18bafc4c4fd6b23f988bcd1a8c0ab2d65db784 
oauth_timestamp=1267523137& 
oauth_nonce=56e66e9f8bd28b320f86a16407f9911d& 
oauth_version=1.0& 
oauth_callback=http://playground.com 

Nhưng nó cho lỗi "Không thể xác thực chữ ký oauth và mã thông báo".

Chuỗi cơ sở tôi đã sử dụng đến máy tính chữ ký là như dưới đây:

GET& 
http%3A%2F%2Ftwitter.com%2Foauth%2Frequest_token& 
oauth_consumer_key%3D9cS99b2406CUpATOeggeA%26 
oauth_signature_method%3DHMAC-SHA1%26 
oauth_timestamp%3D1267523137%26 
oauth_nonce%3D56e66e9f8bd28b320f86a16407f9911d%26 
oauth_version%3D1.0%26 
oauth_callback%3Dhttp%3A%2F%2Fplayground.com 


Xin vui lòng sửa tôi, nơi tôi làm sai lầm.

+0

nếu bạn đã đăng nhập bằng twitter, vui lòng cung cấp cho tôi ví dụ làm việc của bạn ở đâu đó như github hoặc plunker –

Trả lời

4

Sự cố của bạn là theo thứ tự các thông số. Các tham số cho chuỗi cơ sở cần phải theo thứ tự. Nếu chúng không đúng thứ tự, nó sẽ cho bạn lỗi đó.

Vì vậy, chuỗi cơ sở của bạn phải được điều này ...

GET& 
http%3A%2F%2Ftwitter.com%2Foauth%2Frequest_token& 
oauth_consumer_key%3D9cS99b2406CUpATOeggeA%26 
oauth_nonce%3D56e66e9f8bd28b320f86a16407f9911d%26 
oauth_signature_method%3DHMAC-SHA1%26 
oauth_timestamp%3D1267523137%26 
oauth_version%3D1.0%26 
oauth_callback%3Dhttp%3A%2F%2Fplayground.com 

Chú ý rằng bạn "nonce" không phải ở vị trí chính xác.

Ngoài ra, thông thường, thông số "chữ ký" được nối vào cuối URL yêu cầu.

http://oauth.net/core/1.0a/#anchor46

Phụ lục A.5.1

+0

Tôi vẫn gặp lỗi tương tự 'Không xác thực được chữ ký oauth và mã thông báo' – Amit

+0

Tôi tin rằng tham số 'oauth_callback' cũng phải ở đúng thứ tự. Ngoài ra, khi tôi muốn nói đúng thứ tự, những thứ này cần phải theo thứ tự khi tạo chữ ký. Nếu bạn vẫn gặp sự cố, hãy chỉnh sửa bài đăng của bạn và thêm chuỗi cơ sở MỚI của bạn để chúng tôi có thể xem nó là gì. –

+0

hi .. tôi có thể biết, làm thế nào tôi có thể nhận được oauth_signature? .. cảm ơn – pcs

0

gì Eclipsed4utoo nói - mặc dù nếu bạn vẫn nhận được lỗi bạn nên kiểm tra xem bạn đã đăng ký ứng dụng của bạn là trình duyệt được dựa (và chỉ định một callback) trong các trang quản trị viên dev của Twitter.

Nếu được liệt kê dưới dạng ứng dụng dành cho máy tính để bàn nhưng bạn bao gồm & oauth_callback trong cuộc gọi, bạn sẽ thấy lỗi xác thực chữ ký mà bạn đề cập.