В API 1.0 мы можем использовать users/profile_image/:screen_name
Например: http://api.twitter.com/1/users/profile_image/EA_FIFA_FRANCE
Но он больше не работает в API 1.1.
У вас есть решение, пожалуйста?
В API 1.0 мы можем использовать users/profile_image/:screen_name
Например: http://api.twitter.com/1/users/profile_image/EA_FIFA_FRANCE
Но он больше не работает в API 1.1.
У вас есть решение, пожалуйста?
Хорошо, так что вам нужен образ профиля пользователя. Вам нужно будет взглянуть на twitter REST API 1.1 docs. Это список всех различных запросов, которые вы можете внести в их 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 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;
Это в значительной степени! Очень просто. Там также users/lookup, который фактически делает то же самое, но вы можете:
Возвращает полностью увлажненные пользовательские объекты для до 100 пользователей на запрос, как указано значениями, разделенными запятыми, переданными параметрам user_id и/или screen_name.
Если вам когда-либо понадобится получить более одной информации о пользователе, используйте это, но поскольку вам требуется только одна пользовательская информация, используйте пользователя/показать, как указано выше.
Я надеюсь, что это немного почистило!
Вы также можете получить изображение профиля twitter, вызвав этот тип URL:
https://twitter.com/[screen_name]/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 v1.1.. Поэтому, пожалуйста, приспосабливайтесь к изменению API. Просмотреть обновления:
Вы можете получить изображение из поля profile_image_url
запроса 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
Как отмечалось в предыдущих ответах и комментариях:
Выберите любые два; со всеми тремя это не-идти. Ответ @Jimbo правильный (и правильный способ сделать это), но исключает # 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 и т.д.