Man*_*edi 3 python api python-2.7 instagram instagram-api
我目前正在使用Python的python-instagram
库在沙盒模式下使用Instagram API .现在,我有一个应用程序及其关联的客户端ID,客户端密钥和访问令牌,以及一个连接的沙箱用户.
今天早些时候,我正在尝试使用users/search
端点.首先,我直接使用他们的端点URL发送请求:
https://api.instagram.com/v1/users/search?q=XXXX&access_token=<my_access_token>
Run Code Online (Sandbox Code Playgroud)
这里XXXX
是我的Instagram应用程序的连接的沙箱用户.这是生成的响应:
{"meta":{"code":200},"data":[{"username":"XXXX","bio":"Twitter: @XXXX","website":"","profile_picture":"https:a.jpg","full_name":"XXXX XXXX","id":"22222222"}]}
Run Code Online (Sandbox Code Playgroud)
现在,我尝试使用该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
Run Code Online (Sandbox Code Playgroud)
但是,这是我在这种情况下得到的回应:
[User: XXXX]
Run Code Online (Sandbox Code Playgroud)
当我尝试使用直接URL和Python库调用相同的端点时,为什么会得到不同的响应?
什么python-instagram
是做的是,它会带你得到的原始JSON响应,当你发出一个HTTP请求,并将其映射到Python对象.
当您发出a时print usr
,您正在打印User
列表中的对象,因此您会看到一个字符串[User: XXXX]
.
您可以在此处找到用于User对象的模型.它实际上直接映射Json中的字段以获取属性.
请尝试以下代码来检索用户名和ID:
my_usr = usr[0]
print 'User id is', my_usr.id, 'and name is ', my_usr.username
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19027 次 |
最近记录: |