簡體   English   中英

從 Python 中的 REST API 遷移 Mintegral 數據

[英]Mintegral Data Migration from REST API in Python

Mintegral REST API document https://www.mintegral.com/wp-content/uploads/2018/10/1-Mintegral_Reporting-API.pdf

當我在 Python 中運行此代碼時,它總是返回{"code":400,"msg":"Validation fails (Token Error)","data":null} (附截圖) 在此處輸入圖像描述

API 密鑰和用戶名正確。 不知道為什么????

import requests
import time
import hashlib 

apikey = "xxxx"
encoded_timestamp = hashlib.md5(str(time.time()).encode())
token = apikey + encoded_timestamp.hexdigest()
md5_token = hashlib.md5(token.encode()).hexdigest()

response = requests.get("http://data.mintegral.com/v4.php?m=advertiser",
                        params = {
                        'username':'XXXABC'
                        ,'token':md5_token
                        ,'timestamp':str(int(time.time()))
                        # ,'utc':'+8'
                ,'start_date':'2022-06-07'
                ,'end_date':'2022-06-13'
                ,'Content-type': 'application/json'
                # ,'per_page':5000
                }
                )
response.text

但是當我檢查 PHP 中的示例時,它可以工作。 您能幫我修復 Python 代碼嗎? 在此處輸入圖像描述 有人有這方面的經驗嗎?

提前非常感謝!

看起來,您忘記在第 6 行創建 str(int(time.time()))

順便說一句,問題出在邏輯上。 您使用 time.time() function 兩次,一次是在創建令牌時,第二次是在 POST 時。 因此,您的 hash 與服務器 hash 不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM