我想用php curl
與oauth
從twitter
中獲取JSON數據。這是我的代碼。返回na錯誤消息"error":"Timestamp out of bounds"
。php如何使用oauth製作右側的api捲曲
我想知道,如何用oauth製作正確的twitter api捲曲?
是什麼
oauth_consumer_key
,oauth_token
,oauth_nonce
,oauth_signature
?我對嗎?如何解決
"error":"Timestamp out of bounds"
?我的
curl_setopt
方法怎麼樣?
在很多方面,我想用這個php curl
來解碼其他的Twitter API(更改的網址)。非常感謝。
$callback="<callback url>";
$consumer_key="<Consumer key>";
$consumer_secret="<Consumer secret>";
$oauth_token="<Access Token (oauth_token)>";
$oauth_signature="<Access Token Secret (oauth_token_secret)>";//these key word in my api panel
$time = mktime(date("Y-m-d H:i:s"))-86400;
$url = "https://api.twitter.com/1/friends/ids.json?";
$url .= "user_id=<user id>";
$url .= "&realm=".urlencode($callback)."";
$url .= "&service_provider_id=11";
$url .= "&oauth_consumer_key=".$consumer_key."";
$url .= "&oauth_token=".$oauth_token."";
$url .= "&oauth_nonce=".$consumer_secret."";
$url .= "&oauth_signature_method=HMAC-SHA1";
$url .= "&oauth_timestamp=".$time."";
$url .= "&oauth_version=1.0";
$url .= "&oauth_signature=".$oauth_signature."";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: api.twitter.com'));
$json = curl_exec($ch);
curl_close ($ch);
$data = json_decode($json, true);
print_r($json);
不,我可以看到錯誤的副手,但創建從格式字符串的日期,然後將其轉換爲一個時間戳,似乎有點浪費。爲什麼不直接用'time();'直接得到時間戳? – 2011-06-06 09:27:30