2015-06-27 2 views
0

Моя проблема довольно странная (по крайней мере для меня), поскольку у меня есть URL-адрес запроса, который работает в консоли, но выдает ошибку Sorry, that page does not exist в моем php-скрипте, хотя соединение запущено и работает.Twitter API - как проверить, следует ли пользователю A следовать за пользователем B

Так что

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_secret']); 
$user = $connection->get('account/verify_credentials'); 
print_r($user); 

работает великолепно, $ пользовательские данные распечатываются на экране.

Однако, я не могу проверить статус дружбы, как:

$x = $connection->get('https://api.twitter.com/1.1/friendships/show.json?source_id=707482092&target_id=755811768&target_screen_name=assetspersonifi'); 

Как я получаю сообщение об ошибке.

Когда я помещаю этот запрос в консоль API Twitter, он возвращает json, который я не получаю в своем php-коде.

Я использую Abraham's twitteroauth library, но это не работает либо:

$follows_faelazo = $connection->get('friendships/exists', array('user_a' => 'blfarago', 'user_b' => 'faelazo')); 
if(!$follows_faelazo){ 
    echo 'You are NOT following @faelazo!'; 
    $connection->post('friendships/create', array('screen_name' => 'faelazo')); 
} else { 
    print_r($follows_faelazo); 
} 

stdClass Object ([errors] => Array ([0] => stdClass Object ([message] => Sorry, that page does not exist [code] => 34))) 

Я читал, что friendships/exists API больше не поддерживается API Twitter, и я должен использовать friendships/show но как, если он не работает, как вы видите выше?

Чтобы доказать, что все остальное работает, я могу следовать за другими с

$connection->post('friendships/create', array('screen_name' => 'faelazo')); 

Почему?

+0

Это четко определенный вопрос, показывающий, что мне нужно и что я пробовал, поэтому почему downvote? – erdomester

+0

1. Убедитесь, что вы обновили переменную версии API (https://github.com/abraham/twitteroauth/blob/master/src/TwitterOAuth.php#L18). 2. Рассмотрите возможность использования идентификаторов пользователей ('source_id' , 'target_id'). 3. Можете ли вы быть уверены, что эти пользователи действительно существуют? –

ответ

2

Я нашел способ. Here's the documentation

$following = $connection->get('friendships/show', array(
    'source_screen_name' => $_SESSION['username'], 
    'target_screen_name' => $screen_name_to_follow, 
)); 
0

Альтернативой будет

$following = $connection->get('friendships/lookup', array('screen_name' => $screen_name_to_follow)); 

Посмотрите его в Twitter doc.

Смежные вопросы