首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用帐户用户名而不是用户ID获取用户最近的媒体

使用帐户用户名而不是用户ID获取用户最近的媒体
EN

Stack Overflow用户
提问于 2017-05-26 07:43:14
回答 3查看 2.3K关注 0票数 4

因此,我想使用Instagram API来获取特定用户(而不是我的用户)的最新媒体。Instagram有以下端点可以做到这一点:

代码语言:javascript
复制
(GET) https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN

这是一个问题,因为我没有用户的ID (为什么我会有,Instagram?)I do有的是帐户用户名(就像大多数人一样),例如@thisisauser。

我一直在阅读API文档,但我找不到一个端点可以为我提供特定帐户用户名的用户ID。我是说,是的,有:

代码语言:javascript
复制
(GET) https://api.instagram.com/v1/users/search?q=jack&access_token=ACCESS-TOKEN

...but它没有做我需要它做的事情,那就是搜索一个精确的匹配。

我还查看了Stack Overflow和其他网站上的其他帖子。然而,提供的替代解决方案充其量也是有问题的。

事实上,整个事情都是一个实际的问题,这让我感到惊讶。我的意思是,肯定有一个合法的,Instagram认可的,精确和直接的方式:

  • 通过提供帐户用户名来获取用户最近的媒体(这是人们通过以下方式认识您的信息...不是数字序列)通过精确匹配搜索来搜索用户的ID,而不会出现多个可能的结果

仅供参考:我使用PHP和cURL在服务器端做这件事。

附注:如果我必须向API发出单独的请求,以便将帐户用户名转换为用户ID,这只是浪费请求,再多一个请求就是每小时的限制。这只是一个观察,以防Instagram团队的任何成员看到这一点。

EN

回答 3

Stack Overflow用户

发布于 2017-06-05 23:18:51

您可以通过请求以下URL来获取用户的所有信息(包括id):

代码语言:javascript
复制
https://www.instagram.com/{username}/?__a=1

例如,这将为您提供与帐户taylorswift相关的所有信息:

代码语言:javascript
复制
https://www.instagram.com/taylorswift/?__a=1
票数 4
EN

Stack Overflow用户

发布于 2017-06-03 18:04:10

我在获取用户名媒体的API中找不到任何东西。但是,通过使用搜索端点,您可以提出一个解决方案来获取用户的媒体。

因为您使用的是PHP cURL,所以可以这样做:

代码语言:javascript
复制
//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';
票数 0
EN

Stack Overflow用户

发布于 2017-05-26 22:17:24

您可以查找用户id!

如下所示:

代码语言:javascript
复制
<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中,并使用该方法查找用户的最新媒体:

代码语言:javascript
复制
https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN

我认为这样会更好。你也可以用php发送一个json。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44191406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档