2012-07-05 2 views
0

트위터의 최신 피드를 받아야합니다. 나는 사용했다PHP가 트위터를 사용하여 최신 트위터 피드를 가져옴 Oauth 도구 (소비자 키, 액세스 토큰, 소비자 비밀, 액세스 비밀)

https://api.twitter.com/1/statuses/user_timeline.json?oauth_token=ecwmW3pMB8euREHVljdySRexys6c6XYangqEANY&screen_name=twitter_name&count=1 

그러나 나는 "속도 제한 초과"클라이언트가 시간당 150 요청을 만들 수 없다는 것을 얻는다.

나는

$oauth_consumer_key="Vqlj7vd9yHo5MZPnWGf3w"; 
$oauth_nonce="af00a3a26b15ec0178ce0342acc9b392"; 
$oauth_signature_method="HMAC-SHA1"; 
$oauth_timestamp="1341408794"; 
$oauth_token="620811780-30jD4XHWFvp15RcjmxHkLLicFlvMDuNaWp6fKjia"; 
$oauth_version="1.0"; 
$oauth_signature=rawurldecode("N6L4VJLJjY%2BPKxoelttqe2GOPAw%3D"); 

$url = "https://api.twitter.com/1/statuses/user_timeline.json?"; 
$url .= "screen_name=twitter_name"; 
$url .= "&oauth_consumer_key=".$oauth_consumer_key.""; 
$url .= "&oauth_token=".$oauth_token.""; 
$url .= "&oauth_nonce=".$oauth_nonce.""; 
$url .= "&oauth_signature_method=".$oauth_signature_method.""; 
$url .= "&oauth_timestamp=".$oauth_timestamp.""; 
$url .= "&oauth_version=1.0"; 
$url .= "&oauth_signature=".$oauth_signature.""; 
$url .= "&count=1"; 
$url .= "&include_rts=true"; 
$url .= "include_entities=true"; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
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); 

아직도 내가 속도 제한 오류를 초과 얻을 다음과 같이 소비자 키, 소비자 비밀, 액세스 토큰 및 액세스 비밀 코드를 사용하여 트위터의 Oauth 요청을 사용했다.

Oauth를 사용하여 최신 피드를 얻을 수있는 사람이 하나 있습니다.

감사합니다.

+0

이 항상 '속도 제한 오류를 초과'또는 다시 시도하기 전에 대기하지 않는 반환있는 문제인가? –

+0

예 "속도 제한을 초과했습니다"는 오류가 발생합니다. 처음에는 Oauth 기술을 사용하여 피드를 얻지 못했지만 정상적으로 작동합니다. 요청이 초과되면 속도 제한을 초과합니다. 클라이언트는 시간당 150 개 이상의 요청을 처리 할 수 ​​없습니다. " 트위터 Oauth를 사용하여 요청 속도를 시간당 최대 350 개까지 늘릴 수 있습니다. 오류 "속도 제한을 초과했습니다. 클라이언트가 시간당 150 개 이상의 요청을 할 수 없습니다."... 트위터 oauth를 사용하여 최신 트윗을 얻는 방법을 알려주십시오. –

답변

0

트위터 OAuth가 맞았습니다. 협상을 직접 처리하려고하면 실패합니다. 나는 이것을 달성하기 위해 몇 주 동안 노력했지만 'Rate limit exceeded'와 'Invalid OAuth Key'와 같은 오류가 계속 발생했습니다. 나는 라이브러리를 체크 아웃하고 같은 시간 내에 상태를 설정하고, 상태를 설정하고, 사진이 있거나없는 트윗을 보낼 수 있습니다.

다음은 지금 테스트하고 있습니다. 가볍고 사용하기 쉽습니다.

https://github.com/themattharris/tmhOAuth/

+0

감사합니다 윌리엄, 지금은 잘 작동합니다 ... –

관련 문제