instagram graph api 速率限制执行

问题描述 投票:0回答:1

我正在使用 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)

在元开发人员仪表板中检查应用程序级速率限制,我可以清楚地看到仍然有剩余配额:

python facebook-graph-api instagram instagram-api instagram-graph-api
1个回答
0
投票

仪表板数字可能需要一段时间才能赶上实际情况。如果您在 API 响应中收到该错误,那么您一定太过分了。

我建议您通过向

time.sleep(x)
函数添加
get_page_id()
之类的内容来减慢 API 访问速度。这里 x 将取决于您正在使用的 API 端点的速率限制。

如果您有任何疑问,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.