我正在使用 instagram graph api 提取我自己的帐户和其他企业帐户媒体的数据。 在开发过程中,我进行了几次 api 调用来测试 api,起初,一切正常,并且 api 响应成功返回。 突然提示请求限制已达到
{'error': {'message': '(#4) Application request limit reached', 'type': 'OAuthException', 'is_transient': True, 'code': 4, 'fbtrace_id': 'AMtO2GIogwSNpTD0-WqGny-'}}
这是我触发 api 调用的 python 代码:
def get_url():
print('access code url', access_url)
code = input("enter the url")
code = code.rsplit('access_token=')[1]
code = code.rsplit('&data_access_expiration')[0]
return code
def get_long_lived_access_token(
access_token=''
):
url = graph_url + 'oauth/access_token'
params = dict()
params['grant_type'] = 'fb_exchange_token'
params['client_id'] = client_id
params['client_secret'] = client_secret
params['fb_exchange_token'] = access_token
response = requests.get(url, headers=headers, params=params)
response =response.json()
long_lived_access_token = response['access_token']
return long_lived_access_token
def get_page_id(
access_token=''
):
url = graph_url + 'me/accounts'
params = dict()
params['access_token'] = access_token
response = requests.get(url, headers=headers, params=params)
response = response.json()
print(response)
page_id = response['data'][0]['id']
return page_id
access_token = get_url()
long_lived_access_token = get_long_lived_access_token(access_token=access_token)
page_id = get_page_id(access_token=long_lived_access_token)
仪表板数字可能需要一段时间才能赶上实际情况。如果您在 API 响应中收到该错误,那么您一定太过分了。
我建议您通过向
time.sleep(x)
函数添加 get_page_id()
之类的内容来减慢 API 访问速度。这里 x 将取决于您正在使用的 API 端点的速率限制。
如果您有任何疑问,请告诉我。