0

我正在编写一个应用程序来获取基于用户或标签的所有相关媒体。我可以使用媒体,但在下面找到的用户个人资料图片的分辨率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
4

1 回答 1

3

这将获得 600x600 的个人资料图片:

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");
于 2015-12-12T08:01:12.810 回答