Получение изображения профиля пользователя twitter после аутентификации PHP oAuth


Мне нужно знать, как получить изображение профиля пользователя, который только что вошел в мой сайт с помощью twitter oAuth. Мне нужно изображение в full size, поэтому profile_picture_url не подходит для меня (поскольку он возвращает изображение 48x48. Мне нужно исходное изображение размера. Это мой код:

<?php

if(!isset($_SESSION)){
    session_start();
}

require 'autoload.php';

use Abraham\TwitterOAuth\TwitterOAuth;

define('CONSUMER_KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxx'); // add your app consumer key between single quotes
define('CONSUMER_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); // add your app consumer secret key between single quotes
define('OAUTH_CALLBACK', 'http://www.chapatelo.com.ar/chm/peticiones/callback.php'); // your app callback URL
if (!isset($_SESSION['access_token'])) {
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
    $request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => OAUTH_CALLBACK));
    $_SESSION['oauth_token'] = $request_token['oauth_token'];
    $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
    $url = $connection->url('oauth/authorize', array('oauth_token' =>     $request_token['oauth_token']));
    header("Location: " . $url);
} else {
    $access_token = $_SESSION['access_token'];
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET,     $access_token['oauth_token'], $access_token['oauth_token_secret']);
    $user = $connection->get("account/verify_credentials");

    $_SESSION["id"] = $user->id;
    $_SESSION["usuario"] = $user->screen_name;
    $_SESSION["start"] = time();
    $_SESSION["expire"] = $_SESSION["start"] + (3600 * 60);

    echo '<img src="' . $user->profile_image_url. '"/>'; //Obviamente, este echo muetra una imagen demasiado pequeña...
}

?>
Author: Criss, 2016-06-09

2 answers

Вы используете неправильное свойство, вы должны использовать:

profile_image_url

Или

profile_background_image_url_https

Редактирование 1:

Теперь, что касается изображения очень мало, что вам нужно сделать, это играть со значениями, посмотрите на следующее URL-адреса:

Https://abs.twimg.com/sticky/default_profile_images/default_profile_6_normal.png

Https://abs.twimg.com/sticky/default_profile_images/default_profile_6_bigger.png

Https://abs.twimg.com/sticky/default_profile_images/default_profile_6_mini.png

Https://abs.twimg.com/sticky/default_profile_images/default_profile_6.png

Надеюсь, я дал вам идеи, необходимые для достижения предлагаемое: D

Проверьте документацию: https://dev.twitter.com/overview/general/user-profile-images-and-banners

Редактирование 2:

То, что возвращает нам profile_image_url:

"profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1438634086\/avatar_normal.png"

Который при отображении url выглядит так:

 "http://a2.twimg.com/profile_images/1438634086/avatar_normal.png

Теперь вам нужно сделать, это с помощью функции replace PHP изменить этот _normal на размер, который вы ищете: _bigger, _mini, или просто удалить _normal - > Последний даст вам размер оригинал изображения.

 2
Author: fredyfx, 2016-06-10 18:28:06

Я вывел супер простой способ получить фотографию профиля пользователя, зарегистрированного с помощью oAuth, просто сделав следующее:

$imgSrc = substr($user->profile_image_url, 0, -11);

$imgSrc .= ".jpg";

echo '<img style="width:200px; height=200px;" src="' . $imgSrc . '"/>';

Как это работает?

В основном то, что я сделал, это печать на экране $user->profile_image_url чтобы увидеть, какой url-адрес он мне показал. И я понял, что это всегда заканчивается "_normal.jpg". Поэтому я просто вычитаю эти символы, а затем добавляю". jpg " в строку (чтобы она отображала изображение изначально загрузить), и, наконец, я положил его из" src " изображения. Таким образом, у меня появилось изображение full HD, чтобы я мог настроить по своему усмотрению.

Я надеюсь, что это поможет многим, кто хочет сделать то же самое, но, к сожалению, никто не знает, как помочь им так, как им нужно...

 0
Author: Criss, 2016-06-10 17:59:26