gpt4 book ai didi

python - 使用 Python 进行 Instagram 签名调用

转载 作者:太空宇宙 更新时间:2023-11-03 17:49:40 26 4
gpt4 key购买 nike

我正在尝试用 Python 实现对 Instagram API 的签名调用。目前我的标题如下所示:

user_agent = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7'
headers = {
'User-Agent': user_agent,
"Content-type": "application/x-www-form-urlencoded"
}

我根据 this page (Restrict API Requests @ instagram) 给出的说明尝试了几种排列。 ,包括HMAC方法并在我的API设置页面中启用“强制签名 header ”

但我不断收到 headers not found403 错误。我只是不知道如何正确编码 X-Insta-Forwarded-For

您能否帮忙解决如何在 Python 中传递带 header 的签名调用?
非常感谢...

最佳答案

这应该适合你。您还需要 Crypto python 库。

import requests
from Crypto.Hash import HMAC, SHA256

#change these accordingly
client_secret = "mysecret"
client_ip = "127.0.0.1"

hmac = HMAC.new(client_secret, digestmod=SHA256)
hmac.update(client_ip)
signature = hmac.hexdigest()

header_string = "%s|%s" % (client_ip, signature)

headers = {
"X-Insta-Forwarded-For" : header_string,
#and the rest of your headers
}

#or use requests.post or del since that's the
#only time that this header is used...just
#conveying the concept
resp = requests.get(insta_url, headers=headers)

如果您使用列出的引用文献中给出的示例对其进行测试,则可以验证使用此方法是否获得了正确的哈希

ip = "200.15.1.1"
secret = "6dc1787668c64c939929c17683d7cb74"
hmac = HMAC.new(secret, digestmod=SHA256)
hmac.update(ip)
signature = hmac.hexdigest()
# should be 7e3c45bc34f56fd8e762ee4590a53c8c2bbce27e967a85484712e5faa0191688

根据引用文档 - “要启用此设置,请编辑您的 OAuth 客户端配置并标记强制签名 header 复选框。”所以请确保您也这样做了

关于python - 使用 Python 进行 Instagram 签名调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com