Instagram API 使用 Python

Instagram API using Python

我目前正在使用 Python 的 python-instagram 库在沙盒模式下使用 Instagram API。现在,我有一个应用程序及其关联的客户端 ID、客户端密码和访问令牌,以及一个已连接的沙箱用户。

今天早些时候,我正在试验 users/search 端点。首先,我直接使用他们的端点 URL 发送请求:

https://api.instagram.com/v1/users/search?q=XXXX&access_token=<my_access_token> 

其中 XXXX 是我的 Instagram 应用程序的已连接沙箱用户。这是生成的响应:

{"meta":{"code":200},"data":[{"username":"XXXX","bio":"Twitter: @XXXX","website":"","profile_picture":"https:a.jpg","full_name":"XXXX XXXX","id":"22222222"}]}

现在,我尝试使用 python-instagram 库将请求发送到相同的端点,如下所示:

from instagram.client import InstagramAPI
access_token = <my_access_token>

api = InstagramAPI(client_secret='aaaa', access_token = access_token[0])
usr = api.user_search('XXXX')

print usr

但是,这是我在这种情况下得到的响应:

[User: XXXX]

为什么当我尝试使用直接 URL 和 Python 库调用同一个端点时得到不同的响应?

python-instagram 所做的是,它将获取您在发出 HTTP 请求时收到的原始 JSON 响应,并将其映射到 python 个对象。

当您发出 print usr 时,您正在打印列表中的 User 对象,因此您看到的字符串是 [User: XXXX].

您可以找到他们用于用户对象的模型 here。它实际上直接映射Json中的字段以获取属性。

尝试使用以下代码检索用户名和 ID:

my_usr = usr[0]
print 'User id is', my_usr.id, 'and name is ', my_usr.username