Python 如何显示具有新api权限的简单instagram提要

Python 如何显示具有新api权限的简单instagram提要,python,django,instagram-api,django-cms,Python,Django,Instagram Api,Django Cms,我正试图在django cms上设置instagram插件,通过插件中设置的用户名在主页上显示我最近的图片。看来你再也不能简单地从instagram获取公共内容了。这是我当前使用的沙盒帐户方法 user_request = requests.get("https://api.instagram.com/v1/users/search?q=" + str(instance.username) + "&access_token=" + settings.INSTAGRAM_ACCESS_TO

我正试图在django cms上设置instagram插件,通过插件中设置的用户名在主页上显示我最近的图片。看来你再也不能简单地从instagram获取公共内容了。这是我当前使用的沙盒帐户方法

user_request = requests.get("https://api.instagram.com/v1/users/search?q=" + str(instance.username) + "&access_token=" + settings.INSTAGRAM_ACCESS_TOKEN)
user_id = user_request.json().values()[1][0]["id"]
r = requests.get("https://api.instagram.com/v1/users/"+ user_id +"/media/recent/?access_token=" + settings.INSTAGRAM_ACCESS_TOKEN + "&count=" + str(instance.limit))
recent_media = r.json()
上面的代码从插件模型中获取用户名,并向instagram api发出get请求以获取该用户(我听说这种方法并不总是显示正确的用户,因为它只是从列表中搜索并获取第一个用户)

这是使用instagram api和python的正确方法吗?我本来打算使用python instagram,但现在不再支持。我唯一能想到的另一种方法是在站点上验证用户,并使用他们的访问令牌,这对于我所需要的似乎很愚蠢

编辑:
删除username字段并添加access\u令牌会是更好的方法吗?然后使用“/users/self/media/recent”并排除按用户名搜索用户的查询。

是的,第一个结果并不总是匹配的,您必须循环所有搜索结果,并将用户名与搜索到的用户名进行比较,然后获取id

大概是这样的:

var user_id = 0;
user_request.json().values()["data"].forEach(function(user){
    if(user.username == str(instance.username)){
        user_id = user["id"]
    }
});
if(user_id){
    // make api call
} else {
    // user not found
}

看起来很奇怪,没有一个get_user方法,但是哦,好吧,我将尝试在python中实现它,看看它是如何运行的。你认为这比用访问令牌替换用户名更好吗?我想这比让用户获取访问令牌更好。第一行将与您的:
user\u request=requests.get(“https://api.instagram.com/v1/users/search?q=“+str(instance.username)+”&access\u-token=“+settings.INSTAGRAM\u-access\u-token”)
是的,我通过用户名比较得到了它,我认为可能有更好的方法,但这很有帮助,谢谢:)