因此,我想使用Instagram API来获取特定用户(而不是我的用户)的最新媒体。Instagram有以下端点可以做到这一点:
(GET) https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN
这是一个问题,因为我没有用户的ID (为什么我会有,Instagram?)I do有的是帐户用户名(就像大多数人一样),例如@thisisauser。
我一直在阅读API文档,但我找不到一个端点可以为我提供特定帐户用户名的用户ID。我是说,是的,有:
(GET) https://api.instagram.com/v1/users/search?q=jack&access_token=ACCESS-TOKEN
...but它没有做我需要它做的事情,那就是搜索一个精确的匹配。
我还查看了Stack Overflow和其他网站上的其他帖子。然而,提供的替代解决方案充其量也是有问题的。
事实上,整个事情都是一个实际的问题,这让我感到惊讶。我的意思是,肯定有一个合法的,Instagram认可的,精确和直接的方式:
仅供参考:我使用PHP和cURL在服务器端做这件事。
附注:如果我必须向API发出单独的请求,以便将帐户用户名转换为用户ID,这只是浪费请求,再多一个请求就是每小时的限制。这只是一个观察,以防Instagram团队的任何成员看到这一点。
发布于 2017-06-05 23:18:51
您可以通过请求以下URL来获取用户的所有信息(包括id):
https://www.instagram.com/{username}/?__a=1
例如,这将为您提供与帐户taylorswift相关的所有信息:
https://www.instagram.com/taylorswift/?__a=1
发布于 2017-06-03 18:04:10
我在获取用户名媒体的API中找不到任何东西。但是,通过使用搜索端点,您可以提出一个解决方案来获取用户的媒体。
因为您使用的是PHP cURL,所以可以这样做:
//this is what was returned by cURL
$response = /*what was returned by the API - see below*/
{
"data": [{
"username": "jack",
"first_name": "Jack",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
"id": "66",
"last_name": "Dorsey"
},
{
"username": "sammyjack",
"first_name": "Sammy",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg",
"id": "29648",
"last_name": "Jack"
},
{
"username": "jacktiddy",
"first_name": "Jack",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg",
"id": "13096",
"last_name": "Tiddy"
}]
}
//username I am looking for
$user = 'jack';
//filter array response to find exact username you are looking for
$filter = array_filter($response,function($userdata) use ($user){
if($userdata['username'] == $user){
return $userdata;
}
});
//now use ID from filtered array to get media
$url = 'https://api.instagram.com/v1/users/' . $filter['id'] . '/media/recent/?access_token=ACCESS-TOKEN';
发布于 2017-05-26 22:17:24
您可以查找用户id!
如下所示:
<html>
<head>
<script src="jquery.js" type="text/javascript" ></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: 'GET',
url: 'https://api.instagram.com/v1/users/self/?access_token=' + window.location.hash.substring(14),
dataType: 'jsonp'}).done(function(response){
var userid = response.data.id;
});
});
</script>
</head>
<body>
</body>
</html>
并在需要时保存到您的数据库.then中,并使用该方法查找用户的最新媒体:
https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN
我认为这样会更好。你也可以用php发送一个json。
https://stackoverflow.com/questions/44191406
复制相似问题