Python - API 参数 Account Kit 中提供的 appsecret_proof 无效
Python - Invalid appsecret_proof provided in the API argument Account Kit
在 Facebook 文档中,他们提到 access_token 由
组成
AA|facebook_app_id|app_secret
https://developers.facebook.com/docs/accountkit/graphapi
并且 appsecret_proof 是使用应用程序密钥作为密钥的访问令牌的哈希值
appsecret_proof = hmac.new((app_secret).encode('ascii'), msg=access_token.encode('ascii'), digestmod=hashlib.sha256).hexdigest()
所以我使用上面生成的appsecret_proof来调用端点
https://graph.accountkit.com/v1.1/me/?access_token=
以appsecret_proof作为第二个参数。但我仍然收到 Invalid AppSecret_proof provided in API argument
根据文档,您需要使用用户访问令牌并将其与应用密码进行哈希处理以获取应用 secret_proof 而不是应用访问令牌
您的 app_token 似乎不正确,语法为 <app_id>|<app_secret>
-- 例如:
facebook_app_id = '<YOUR_APP_ID>'
facebook_app_secret = '<YOUR_APP_SECRET>'
facebook_app_token = '{}|{}'.format(facebook_app_id,facebook_app_secret)
然后您可以按如下方式生成 appsecret_proof:
import hmac,hashlib
app_secret_proof = hmac.new(facebook_app_secret.encode('utf-8'),
msg=facebook_app_token.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
在 Facebook 文档中,他们提到 access_token 由
组成AA|facebook_app_id|app_secret
https://developers.facebook.com/docs/accountkit/graphapi
并且 appsecret_proof 是使用应用程序密钥作为密钥的访问令牌的哈希值
appsecret_proof = hmac.new((app_secret).encode('ascii'), msg=access_token.encode('ascii'), digestmod=hashlib.sha256).hexdigest()
所以我使用上面生成的appsecret_proof来调用端点
https://graph.accountkit.com/v1.1/me/?access_token=
以appsecret_proof作为第二个参数。但我仍然收到 Invalid AppSecret_proof provided in API argument
根据文档,您需要使用用户访问令牌并将其与应用密码进行哈希处理以获取应用 secret_proof 而不是应用访问令牌
您的 app_token 似乎不正确,语法为 <app_id>|<app_secret>
-- 例如:
facebook_app_id = '<YOUR_APP_ID>'
facebook_app_secret = '<YOUR_APP_SECRET>'
facebook_app_token = '{}|{}'.format(facebook_app_id,facebook_app_secret)
然后您可以按如下方式生成 appsecret_proof:
import hmac,hashlib
app_secret_proof = hmac.new(facebook_app_secret.encode('utf-8'),
msg=facebook_app_token.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()