Я пишу приложение, чтобы получить все соответствующие медиа на основе пользователя или тега.
Я был в состоянии СМИ, но разрешение изображения профиля пользователя, найденного под data/user/profile_picture
довольно бедный (около 150 * 150 пикселей).
Итак, мой вопрос: есть ли способ получить изображение профиля пользователя в большем размере? Вот запросы, которые я использую для получения медиа:
https://api.instagram.com/v1/users/3/media/recent/?access_token=ACCESS-TOKEN
https://api.instagram.com/v1/tags/snow/media/recent?access_token=ACCESS-TOKEN
Это получает изображение профиля 600×600:
function Request($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function get_value($username, $att, $accesstoken) {
$url = "https://api.instagram.com/v1/users/search?q=" . $username . "&access_token=" . $accesstoken;
if($result = json_decode(Request($url), true)) {
if ($att == "full_name") {
return preg_replace("/[^A-Za-z0-9 ]/", '', $result['data'][0][$att]);
} elseif ($att == "profile_picture") {
$res = str_replace("s480x480", "s600x600", $result['data'][0][$att]);
$res = str_replace("s320x320", "s600x600", $res);
$res = str_replace("s150x150", "s600x600", $res);
return $res;
} else {
return $result['data'][0][$att];
}
}
}
Пример использования:
$profile_picture = get_value("USERNAME","profile_picture", "ACCESS_TOKEN");
Других решений пока нет …