2017-09-02 73 views
1

我一直試圖在我的Google腳本中插入Aftership(Courier跟蹤網站)API。以下腳本是創建一個新的跟蹤。我非常接近,我唯一無法弄清楚的是把參數tracking_number放在哪裏。此請求的API文檔是here。示例追蹤號碼:印度郵政國內的EI790662622IN。Google腳本中的Aftership API

function myFunction() { 

    var apikey = "GENERATEDAPIKEY"; 

    var options = { 
     "method" : "POST", 
     "headers" : { 
     "aftership-api-key": apikey, 
     "Content-Type": "application/json" 
     }, 
    }; 

    var aftership_url = "https://api.aftership.com/v4/trackings"; 

    var response = UrlFetchApp.fetch(aftership_url, options); 

    var result = response.getContentText(); 

    Logger.log(result); 
} 

回答

1

如果我沒看錯,你應該插入您的payload (look at advanced parameters)

function aftership() { 
    var apikey = "your api key"; 

    var payload = { "tracking": { "tracking_number": "EI790662622IN" } }; 

    var options = { 
    "method" : "POST", 
    "contentType": 'application/json', 
    "headers" : { 
     "aftership-api-key": apikey, 
     "Content-Type": "application/json" 
    }, 
    "payload": JSON.stringify(payload) 
    }; 

    var aftership_url = "https://api.aftership.com/v4/trackings"; 
    var response = UrlFetchApp.fetch(aftership_url, options); 
    var result = response.getContentText(); 
    Logger.log(result); 
} 

有它的工作,你必須讓快遞員在Courier Api settings

您的代碼錯過:

  • contentType in options
  • 有效負載格式爲JSON字符串,具有api請求的方案。
+0

謝謝,但它仍然給錯誤 - 請求失敗的https://api.aftership.com/v4/trackings返回代碼400.截斷的服務器響應:{「meta」:{「code」:4006, 「message」:「跟蹤對象是必需的」,「type」:「BadRequest」},「data」:{「tracking_number」:「EI790662622IN」}}(使用muteHttpExceptions選項來檢查完整響應)。 (第20行,文件「Aftership」) –

+0

固定和測試:)不是有效的,但你必須在安全設置中啓用快遞 –

+0

第二次編輯給我的錯誤在「有效載荷」中的屬性列表後「丟失」: JSON.stringify(有效載荷);線。是的,快遞是在設置中添加的。 –