我正在开发一个抖音上传机器人。我已经在 Instagram 上做了同样的事情,所以我想我也可以为 tiktok 做另一个。
我遇到的唯一问题是我需要发送的请求标头中的这个键,但我一生都无法弄清楚: “授权”: AWS4-HMAC-SHA256 凭证=*access_key_id/YYYYMMDD/gcp/vod/aws4_request,SignedHeaders=x-amz-date;x-amz-security-token,签名=signature
我知道该怎么做。我需要生成 AWS4-HMAC-SHA256 签名。我拥有所有输入参数,除了区域(通常在 gcp 的地方会有类似“us-east-1”的东西,但我似乎无法获得正确的签名。我运行了这段代码每个可用于 AWS 的区域和奇怪的区域“gcp”(我读到的与谷歌云有关)但签名从来不匹配我在网上找到的算法的多个版本(例如 https://github.com)。 /MiniGlome/Tiktok-uploader/blob/main/Tiktok_uploader.py,该文件已过时,因为此人要求将“gcp”替换为可行的区域。 我也使用AWS文档自己编写了代码,但签名也不匹配。
最后: 是否有一个我可以使用的浏览器/浏览器工具,它可以向我展示浏览器的内部工作原理以及如何生成此签名。因为恕我直言,必须有一种方法,因为浏览器 100% 在这里进行签名。 也感谢此浏览器/浏览器工具之外的任何帮助
在调用 API 创建分段上传 API 时,我也遇到了签名不匹配的相同问题 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)。
在该调用中,查询字符串是“?uploads”。所以它有一个查询键没有值。
我在计算签名时使用了“uploads”,而 AWS 将其视为“uploads=”。
我只是将字符串更改为“?uploads=1”并且签名匹配。