Как получить изображение пользователя с API-интерфейсом Twitter 1.1?

В API 1.0 мы можем использовать users/profile_image/:screen_name

Например: http://api.twitter.com/1/users/profile_image/EA_FIFA_FRANCE

Но в API 1.1 он больше не работает .

У вас есть решение, пожалуйста?

Related of "Как получить изображение пользователя с API-интерфейсом Twitter 1.1?"

Изображение профиля пользователя

Хорошо, так что вы хотите изображение профиля пользователя. Вам нужно будет взглянуть на документы REST API 1.1 для twitter . Это список всех различных запросов, которые вы можете внести в их API (не волнуйтесь, я расскажу вам, как вы это сделаете позже).

Существует несколько способов получить изображение профиля пользователя, но наиболее примечательным является: users / show . Согласно документам для этого, метод users / show:

Возвращает разнообразную информацию о пользователе, указанную параметром user_id или screen_name. Последний текст автора будет возвращен, если это возможно.

Ну, изображение профиля пользователя должно быть где-то там, правильно?

Давайте посмотрим на типичный ответ на запрос этой информации, используя URL-адрес users / show (мы будем использовать мой профиль в качестве примера).

Пример ответа для пользователей / показать из twitter 1.1 api

Я отключил некоторые из них, потому что есть много данных, которые нужно пройти. Самое главное, вы увидите, что вам нужно:

key_image_url ключ

Это ключ profile_image_url, к которому вам нужно получить доступ.

Итак, как вы все это делаете? На самом деле это довольно просто.

Аутентифицированные запросы

Как вы правильно указали, по состоянию на 11 июня 2013 года вы больше не можете отправлять запросы, не прошедшие проверку подлинности, или любые из них в API 1.0, поскольку он был удален. Таким образом, OAuth – это способ сделать запросы к API 1.1.

Я написал пост переполнения стека с целью помочь всем, кто вы, ребята, выполнить аутентифицированные запросы к API 1.1 практически без усилий.

Когда вы его используете, вы получите ответ, который вы видите выше. Следуйте инструкциям по постов, шаг за шагом, и вы можете получить библиотеку здесь (вам нужно включить только один файл в свой проект).

В основном, в предыдущей статье объясняется, что вам нужно сделать следующее:

  • Создайте учетную запись разработчика twitter
  • Получите себе набор уникальных ключей из твиттера (всего 4 ключа).
  • Установите для приложения доступ к чтению / записи
  • Включить TwitterApiExchange.php (библиотека)
  • Поместите свои ключи в массив $settings
  • Выберите свой URL-адрес и метод запроса (Post / Get) из документов (я установил ссылку выше!)
  • Сделайте запрос, вот и все!

Практический пример

Я собираюсь предположить, что вы выполнили пошаговые инструкции в вышеупомянутом сообщении (содержащие красивые цветные изображения). Вот код, который вы использовали бы, чтобы получить то, что вы хотите.

 // Require the library file, obviously require_once('TwitterAPIExchange.php'); // Set up your settings with the keys you get from the dev site $settings = array( 'oauth_access_token' => "YOUR_ACCESS_TOKEN", 'oauth_access_token_secret' => "YOUR_ACCESS_TOKEN_SECRET", 'consumer_key' => "YOUR_CONSUMER_KEY", 'consumer_secret' => "YOUR_CONSUMER_SECRET" ); // Chooose the url you want from the docs, this is the users/show $url = 'https://api.twitter.com/1.1/users/show.json'; // The request method, according to the docs, is GET, not POST $requestMethod = 'GET'; // Set up your get string, we're using my screen name here $getfield = '?screen_name=j7mbo'; // Create the object $twitter = new TwitterAPIExchange($settings); // Make the request and get the response into the $json variable $json = $twitter->setGetfield($getfield) ->buildOauth($url, $requestMethod) ->performRequest(); // It's json, so decode it into an array $result = json_decode($json); // Access the profile_image_url element in the array echo $result->profile_image_url; 

Вот и все! Очень просто. Там также пользователи / поиск, который эффективно делает то же самое, но вы можете:

Возвращает полностью увлажненные пользовательские объекты для до 100 пользователей на запрос, как указано значениями, разделенными запятыми, переданными параметрам user_id и / или screen_name.

Если вам когда-либо понадобится получить больше информации одного пользователя, используйте это, но поскольку вам требуются только данные одного пользователя, используйте пользователей / покажите, как указано выше.

Надеюсь, что это немного расчистило!

Вы также можете получить изображение профиля twitter, вызвав этот тип URL:

https://twitter.com/%5Bscreen_name%5D/profile_image?size=original

Например: https://twitter.com/VancityReynolds/profile_image?size=original

Получил информацию с этого поста:

https://twittercommunity.com/t/how-to-get-user-image-original-size-with-api-1-1/10187/14

Вы говорите, что хотите использовать Twitter API 1.1, но не хотите аутентифицировать свои запросы. Запросы, не прошедшие проверку подлинности, не поддерживаются в API версии 1.1. Поэтому, пожалуйста, приспосабливайтесь к изменению API. См. Обновления:

Вы можете получить изображение из поля https://api.twitter.com/1.1/users/show.json запроса https://api.twitter.com/1.1/users/show.json . Для этого метода требуется id или screen_name . Например :

 GET https://api.twitter.com/1.1/users/show.json?screen_name=rsarver 

См. Подробности здесь https://dev.twitter.com/docs/api/1.1/get/users/show

попробуй это

 http://api.twitter.com/1/users/profile_image/{twitter_account}.xml?size=bigger 

В API 1.1 единственным способом является подключение вашего приложения, извлечение пользователя путем

 https://dev.twitter.com/docs/api/1.1/get/users/show 

и получить после его картины

 profile_image_url 

Как отмечалось в предыдущих ответах и ​​комментариях:

  1. Twitter API v1.0 устарел
  2. Twitter API v1.1 требует OAuth
  3. OP (@Steffi) не хочет аутентифицироваться

Выберите любые два; со всеми тремя – это не-гость. @ Ответ Джимбо правильный (и правильный способ сделать это), но исключает # 3. Выброс № 1 означает возвращение во времени. Но мы можем выбросить №2 и перейти непосредственно к источнику:

 curl -s https://twitter.com/EA_FIFA_FRANCE | sed -ne 's/^.*ProfileAvatar-image.*\(https:[^"]*\).*$/\1/p' 

Команда sed просто говорит, найдите строку, содержащую «ProfileAvatar-image», и напечатайте подстроку, которая выглядит как цитируемый URL.

Это менее стабильно, чем аутентифицированный вызов API, поскольку Twitter может изменить свой HTML в любое время, но это проще, чем иметь дело с OAuth и никаких официальных ограничений по скорости!

Перевод PHP должен быть простым.

Харе – очень простой способ получить изображение в Twitter.

http://res.cloudinary.com/demo/image/twitter_name/w_300/ {User_Name} .jpg

это мой профиль picutre: Большой: http://res.cloudinary.com/demo/image/twitter_name/w_300/avto_key.jpg

Малый: http://res.cloudinary.com/demo/image/twitter_name/w_100/avto_key.jpg

вы можете регулировать размер по этой части URL – w_100, w_200, w_500 и т. д.