一个简单的Python库,用于访问Instagram基本显示API
项目描述
Instagram Basic Display Python API
Instagram Basic Display API的简单Python库。基于instagram-basic-display-php,由espresso.dev开发
PyPI 包可用。
需求
- Python3.6或更高版本
- python-requests
- Facebook开发者帐户
- Facebook应用
入门
要使用Instagram Basic Display API,您需要注册Facebook应用并配置Instagram Basic Display。请遵循入门指南。
安装
我强烈建议使用PyPI以保持更新尽可能平滑。
$ pip3 install instagram-basic-display
初始化库
from instagram_basic_display.InstagramBasicDisplay import InstagramBasicDisplay
instagram_basic_display = InstagramBasicDisplay(app_id='YOUR_APP_ID', app_secret='YOUR_APP_SECRET', redirect_url='YOUR_APP_REDIRECT_URI')
# Optionally you can force graph version using optional parameter `graph_version`:
# instagram_basic_display = InstagramBasicDisplay(app_id='YOUR_APP_ID', app_secret='YOUR_APP_SECRET', redirect_url='YOUR_APP_REDIRECT_URI', graph_version='v16.0')
print(instagram_basic_display.get_login_url()) # Returns login URL you need to follow
用户认证(OAuth2)
# Get the OAuth callback code
code = request.args.get('code')
# Get the short lived access token (valid for 1 hour)
short_lived_token = instagram_basic_display.get_o_auth_token(code)
# Exchange this token for a long lived token (valid for 60 days)
long_lived_token = instagram_basic_display.get_long_lived_token(short_lived_token.get('access_token'))
print('Your token is: {}' .format(long_lived_token.access_token))
获取用户资料
# Set user access token
instagram_basic_display.set_access_token(long_lived_token.access_token)
# Get the users profile
profile = instagram_basic_display.get_user_profile()
print(profile)
可用方法
设置Instagram
Instagram(app_id: str, app_secret: str, redirect_url: str)
获取登录URL
get_login_url(scopes: list=None)
获取OAuth令牌(短效有效期为1小时)
get_o_auth_token(code: str)
将OAuth令牌交换为长期有效令牌(有效期为60天)
get_long_lived_token(access_token)
在令牌过期前60天刷新访问令牌
refresh_token(access_token)
设置/获取访问令牌
- 设置访问令牌,用于后续方法调用:
set_access_token($token)
- 获取访问令牌,如果您想将其存储以供以后使用:
get_access_token()
用户方法
认证方法
get_user_profile()
get_user_media(user_id='me', limit: int = None, before: int = None, after: int = None)
- 如果未定义
user_id
或等于'me'
,则返回登录用户的媒体
- 如果未定义
媒体方法
认证方法
get_media(_id: int)
get_media_children(_id: int)
分页
get_user_media
端点有一个最大结果范围,因此将limit
参数增加到99以上以上不会有所帮助。您可以使用分页来返回更多端点的结果。
将一个对象传递给pagination()
方法并获取下一个数据集
media = instagram_basic_display.get_user_media()
more_media = instagram_basic_display.pagination(media)
项目详情
关闭
instagram-basic-display-1.2.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | c759fa6a01159f6be960b9b3fc9fb50262a676c7002d38c56fe01c72cd628a12 |
|
MD5 | db9a8909d13b6e1afb59f42b8f4bb072 |
|
BLAKE2b-256 | 5427635086afd6344cccc8a9db30e828c54b3fc7caff6b7e52b88b107ff6f786 |