今天忙乎了一晚,總算把oAuth調通了,網上拉了一段代碼,心想一調試就能通過吧,該代碼頭部如下
/**
* oAuth Consumer Library
*
* Requires the PHP cURL extension and the MY_Input hack (for CI apps),
* which is included in Flame
*
* @package Flame
* @subpackage oAuth
* @copyright 2009, Jamie Rumbelow
* @author Jamie Rumbelow <http://www.jamierumbelow.net>
* @license GPLv3
* @version 1.1.0
*/
結果在簽名這個函數繞了很久,不過也搞清楚了 oAuth的兩種POST認證方式,一種是把域都放在PostField裡,一種是把認證數據放在OAuth HTTP Authorization 首部 ,格式如
Authorization: OAuth realm="", oauth_consumer_key=Pa6YNjrFI7lvxaxek5Bfvw, oauth_token=Wm3mIQWnIgv34rITA0tUzPIaHTeDuJ25wt3Fqn2Lg, oauth_signature_method=HMAC-SHA1, oauth_verifier=7SEMYx243bbZBnZvZGpHlBQsiTaCpDQ0BVm1EoH0mw, oauth_timestamp=1304530949, oauth_nonce=a1669eb44570c3df067e050d874c05dc69b7d940, oauth_signature=BvgJbcBRs05ediEbMO3wu4HdjTE%3D
PostField的這種就把認證域加所有的其他字段都放在一起算出個signature就得了,而頭部這種方式在twitter下就只要POST+URL+頭部認證的部分計算signature就得了,其他值域就不要放進去算了,就這個搞了我好幾個小時