Ответ 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 с минимальными усилиями.
Когда вы его используете, вы получите ответ, который вы видите выше. Следуйте инструкциям по постов, шаг за шагом, и вы можете получить библиотеку здесь (вам нужно включить только один файл в свой проект).
В основном, предыдущая статья объясняет, что вам нужно сделать следующее:
- Создайте учетную запись разработчика 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 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.
Если вам когда-либо понадобится получить более одной информации о пользователе, используйте это, но поскольку вам требуется только одна пользовательская информация, используйте пользователя/показать, как указано выше.
Я надеюсь, что это немного почистило!