2012-10-11 82 views
2

我在當地完成了oauth api。來自linkedin的API響應在localhost中正常工作。當我移動到服務器時,我在服務器上的linkedin api中出現錯誤,如下所示。Oauth :: timestamp在linkedin api中拒絕錯誤

oauth_problem=timestamp_refused&oauth_acceptable_timestamps=1349951029%2B-300 

任何人都可以幫我嗎? 在此先感謝!

回答

0

這發生在我身上。大多數人認爲你的系統上的時鐘是錯誤的。嘗試檢查它,如果它不起作用,請嘗試重新進行身份驗證,以便在腳本在服務器上運行時獲取新的訪問令牌,如果尚未這樣做的話。

你最後的選擇是使用不同的庫。我發現一些庫有點不穩定。如果您使用PHP,我會建議您使用simple-linkedinphp。迄今爲止我所用過的最好的。

+0

我已經通過減去秒來修復它..非常感謝您的回覆。 – jeeva

0

檢查您的服務器時間。因爲我面臨同樣的問題。設置正確的時間和日期後,它工作正常。

+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – RMcLeod

+0

我不能添加我對這篇文章的評論。如果有人遇到同樣的問題,對他們會有幫助。要添加我的評論,我需要獲得超過50的聲望。 –

2

首先看到的是什麼時候差別網絡服務器和在linkedin.php LinkedIn的服務器

之間有一個函數[讀取]和函數結尾做

echo '<pre>'; 
print_r($return_data); 
exit; 

,你會看到您的服務器發送的[oauth_timestamp]以及$ return_data打印數據中有一個linkedin服務器正在發送的時間戳。

轉換他們兩個,看看你可以在這個網站做的區別。 http://www.epochconverter.com/

在最後

在OAuth.php文件有一個函數[generate_timestamp]被返回一個時刻()。 將其更改爲

#to avoid the error of 
#oauth_problem=timestamp_refused&oauth_acceptable_timestamps= 
#return time()+(difference of mints*sec); 
return time()+(40*60);