В API 1.0 мы можем использовать users/profile_image/:screen_name
Например: http://api.twitter.com/1/users/profile_image/EA_FIFA_FRANCE
Но в API 1.1 он больше не работает .
У вас есть решение, пожалуйста?
Хорошо, так что вы хотите изображение профиля пользователя. Вам нужно будет взглянуть на документы REST API 1.1 для twitter . Это список всех различных запросов, которые вы можете внести в их API (не волнуйтесь, я расскажу вам, как вы это сделаете позже).
Существует несколько способов получить изображение профиля пользователя, но наиболее примечательным является: users / show . Согласно документам для этого, метод users / show:
Возвращает разнообразную информацию о пользователе, указанную параметром user_id или screen_name. Последний текст автора будет возвращен, если это возможно.
Ну, изображение профиля пользователя должно быть где-то там, правильно?
Давайте посмотрим на типичный ответ на запрос этой информации, используя URL-адрес users / show (мы будем использовать мой профиль в качестве примера).
Я отключил некоторые из них, потому что есть много данных, которые нужно пройти. Самое главное, вы увидите, что вам нужно:
Это ключ profile_image_url, к которому вам нужно получить доступ.
Итак, как вы все это делаете? На самом деле это довольно просто.
Как вы правильно указали, по состоянию на 11 июня 2013 года вы больше не можете отправлять запросы, не прошедшие проверку подлинности, или любые из них в API 1.0, поскольку он был удален. Таким образом, OAuth – это способ сделать запросы к API 1.1.
Я написал пост переполнения стека с целью помочь всем, кто вы, ребята, выполнить аутентифицированные запросы к API 1.1 практически без усилий.
Когда вы его используете, вы получите ответ, который вы видите выше. Следуйте инструкциям по постов, шаг за шагом, и вы можете получить библиотеку здесь (вам нужно включить только один файл в свой проект).
В основном, в предыдущей статье объясняется, что вам нужно сделать следующее:
$settings
Я собираюсь предположить, что вы выполнили пошаговые инструкции в вышеупомянутом сообщении (содержащие красивые цветные изображения). Вот код, который вы использовали бы, чтобы получить то, что вы хотите.
// 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
Как отмечалось в предыдущих ответах и комментариях:
Выберите любые два; со всеми тремя – это не-гость. @ Ответ Джимбо правильный (и правильный способ сделать это), но исключает # 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 и т. д.