Я использую PHP для отображения последнего твита от пользователя. Это в Wordpress. Это работает большую часть времени, - но иногда, я получаю эту ошибку:Неисправность вызова API API Twitter
file_get_contents(http://api.twitter.com/1/statuses/user_timeline/[username].json) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in [...]/twitter.php on line 47
Я абсолютно уверен, что я не буду сверх лимита API Twitter, потому что даже если мой код кэширования несовершенна, не один иначе это можно увидеть - он размещен локально - и я не видел страницу 150 раз в час. Я тестировал, что имена пользователей и базы данных действительно извлекаются. Это мой код:
<?php
function twitter($username) {
$tweet = '';
echo $username;
if (!get_option('twitter_last_updated')) {
$format='json';
$tweet_raw=file_get_contents("http://api.twitter.com/1/statuses/user_timeline/{$username}.{$format}");
$tweet = json_decode($tweet_raw);
add_option('twitter_last_updated', time(), "", "yes");
add_option('twitter_last_updated_author', $username, "", "yes");
add_option('twitter_last_updated_data', $tweet_raw, "", "yes");
} elseif (time() - get_option('twitter_last_updated') > 30 || get_option('twitter_last_updated_author') != $username) {
$format='json';
$tweet_raw=file_get_contents("http://api.twitter.com/1/statuses/user_timeline/{$username}.{$format}");
$tweet = json_decode($tweet_raw);
update_option('twitter_last_updated', time());
update_option('twitter_last_updated_author', $username);
update_option('twitter_last_updated_data', $tweet_raw);
} else {
$tweet = json_decode(get_option('twitter_last_updated_data'));
} ?>
<!-- display the tweet -->
<?php } ?>
Я бы очень признателен за помощь в этом. Я чувствую себя полностью в тупике.
По моему опыту, все, что касается Twitter, прерывается с перерывами. – JAL