跳转到主要内容

一个简单的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 (5.4 kB 查看散列)

上传时间

由以下组织支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastly内容分发网络(CDN)GoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面