0
我想開始使用Instagram的API,但我甚至不能做一個簡單的通話,因爲我得到一個錯誤的Instagram:簽名不匹配
{"code": 403, "error_type": "OAuthForbiddenException", "error_message": "Invalid signed-request: Signature does not match"}
我產生我access_token
與範圍爲likes+comments
。
我生成使用這個腳本從Instagram的開發者網站上的簽名,因爲它最初給我
"Invalid signed-request: Missing required parameter 'sig'"
這是腳本:
# -*- coding: UTF-8 -*-
import hmac
from hashlib import sha256
def generate_sig(endpoint, params, secret):
sig = endpoint
for key in sorted(params.keys()):
sig += '|%s=%s' % (key, params[key])
return hmac.new(secret, sig, sha256).hexdigest()
endpoint = 'media/search'
params = {
'access_token': _______________,
'count': 10,
}
secret = ______________________
sig = generate_sig(endpoint, params, secret)
print "sig is",sig
任何幫助表示讚賞! 感謝
我認爲''count':10'參數不應該在簽名生成中傳遞,因爲它不存在於url中。根據Insta文檔 - >令牌:API端點附有您的請求參數的所有鍵/值對的串聯,按鍵升序排序。每個鍵/值對由管道字符分隔。 因此,無論您是將計數添加到您的API請求網址還是將其從簽名生成參數中移除,否則它仍會提供「無效的簽名請求」錯誤! – coderz
@felipsmartins感謝您的回答。我嘗試過,但仍然無法正常工作。它給了我相同的「簽名請求無效:簽名不匹配」錯誤。 – Arjun
@coderz我也試過。我將它從參數中刪除,並將其網址添加爲:https://api.instagram.com/v1/media/search?lat=48.858844&lng=2.294351&access_token=ACCESS-TOKEN&sig=SIG&count=10。但是,它仍然給我同樣的錯誤! – Arjun