Po prostu zaczynam zadzierać z bardzo, bardzo podstawowym zaproszeniem do interfejsu API Twittera (http://api.twitter.com/ 1/status/user_timeline.json) do przeciągnij moje tweety na moją stronę poprzez cURL. Jednak za pomocą strony, która nikogo jeszcze nie zna (co eliminuje możliwość niezamierzonego ruchu ), otrzymuję przekroczenie limitu stawki przed . Miałem okazję go przetestować. Mówi, że resetuje się o 5 po godzinie, więc sprawdzam ponownie i przez minutę działa, ale potem wróciłem , aby poinformować mnie, że mój limit stawki został przekroczony. Kilka pytań dla każdego, kto wie o Twitter API i/lub cURL:Wywołanie cURL do spotkania API Twittera "Limit stawki" bez wysyłania więcej niż 5 zgłoszeń
Po pierwsze, czy limit szybkości zastosowany do mojego serwera (zamiast użytkownika)? Zakładam, że tak, ale może to być oczywiście trudne. Nawet jedno wywołanie API na użytkownika może, w witrynie o marginalnym ruchu, z łatwością przekroczyć limit stawki w ciągu godziny. Czy istnieje sposób powiązania połączenia z użytkownikiem, a nie z serwerem? Wygląda na to, że nie, ale nie jestem całkiem pewien, jak działa cały API , a cURL wydaje się być zalecany w wielu miejscach . Jestem świadomy, że jeśli użyję JSON i AJAX dane w I mogę zrobić , że żądanie od użytkownika, ale tylko ze względu na argument, co o cURL?
Po drugie, jakikolwiek pomysł, w jaki sposób mogę przekroczyć mój limit stawek nawet bez odświeżania strony ? Płacę za hosting w innej lokalizacji, więc mogę dzielić przestrzeń serwerową z inną stroną, ale moja strona ma zdecydowanie unikalny adres IP, więc powinno ... powinno być OK, prawda? Jak to jest, że przekraczam limit szybkości bez uruchamiania kodu (lub , uruchamiając go raz?)?
Oto co mam do kodu, jeśli pomaga:
$ch=curl_init("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=screenname");
curl_setopt_array($ch,array(
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_TIMEOUT=>5,
)
);
$temp=curl_exec($ch);
curl_close($ch);
$results=json_decode($temp,true);
Także, ja teraz mam go tak, że jeśli Twitter zwraca Error Rate Limit, zapisuje błąd w pliku tekstowym , a także czas, w którym limit zostanie zresetowany. Patrząc na ten plik, jedyną aktualizacją (nie mam go przepisać, to po prostu dodaje) jest to, kiedy załadowałem stronę (która może raz lub dwa razy na godzinę), więc to nie jest coś innego używa tej strony i wywołuje ten adres URL.
Każda pomoc?
OK, to ma sens. Ciągnę tylko swój strumień na Twitterze, więc nie będzie potrzeby angażowania innych użytkowników, a nawet moich, ponieważ jest to publiczny strumień. –
Zawsze zapominam, że nie mogę mieć zwrotów w tych odpowiedziach. Jakiś pomysł, dlaczego mogę wpaść na ograniczenie stawki? Nie odświeżam strony blisko 150 razy. Nie powinienem dodawać białej listy, ponieważ powinny to być cztery linie kodu i jestem ustawiony. Ale z jakiegoś powodu w ciągu 20 minut od zresetowania, nawet jeśli nie załadowałem strony raz, mój limit zostanie osiągnięty. –
Sprawdzałbym, z którymi aplikacjami firm zewnętrznych korzystasz na http://twitter.com/settings/connections. Nie przypuszczam, że nie masz adresu IP udostępnionego grupie innych osób? – ceejayoz