我正在使用 binance API 來獲取 usdt 的價格。該 API 適用于郵遞員,但不適用于谷歌腳本。
function fetchCryptoPricesFromApi() {
const data = {
"page": 1,
"rows": 10,
"payTypes": [],
"asset": "USDT",
"tradeType": "SELL",
"fiat": "LKR",
"publisherType": null,
"transAmount": "2600"
}
const payload = JSON.stringify(data)
const options = {
"method" : "POST",
"contentType" : "application/json",
"payload" : payload
}
let response;
try {
response = UrlFetchApp.fetch('https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search', options);
} catch (error) {
console.log('Oops Error, ', error);
return
}
const prices = JSON.parse(response)['data'];
console.log(prices)
}
執行此操作時出現以下錯誤,
Oops Error, { [Exception: Request failed for https://p2p.binance.com returned code 403. Truncated server response: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" ... (use muteHttpExceptions option to examine full response)] name: 'Exception' }
我也試著等了一段時間。
uj5u.com熱心網友回復:
從您顯示的錯誤訊息中,我確認了狀態代碼403。Ref在這種情況下,認為無法從 Google 端直接訪問該站點。我認為你的問題的原因是由于這個。
在這種情況下,作為一種解決方法,我想建議在不使用腳本編輯器直接運行腳本的情況下訪問 URL。當我測驗此解決方法時,我確認可以回傳該值。
在此解決方法中,使用以下流程。
- 將自定義函式
=fetchCryptoPricesFromApi()放到一個單元格中。 - 從 API 檢索值。
- 從單元格中檢索值。
- 將值決議為 JSON 資料。
此解決方法的示例腳本如下。
示例腳本:
在此解決方法中,我使用 Google 電子表格。所以請創建一個新的谷歌電子表格并打開谷歌電子表格的腳本編輯器。并且,復制并粘貼以下腳本。main()并且,使用腳本編輯器運行函式。
function fetchCryptoPricesFromApi() {
const data = {
"page": 1,
"rows": 10,
"payTypes": [],
"asset": "USDT",
"tradeType": "SELL",
"fiat": "LKR",
"publisherType": null,
"transAmount": "2600"
}
const payload = JSON.stringify(data)
const options = {
"method": "POST",
"contentType": "application/json",
"payload": payload
}
const response = UrlFetchApp.fetch('https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search', options);
return response.getContentText();
}
// Please run this function.
function main() {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange("A1");
range.setFormula("=fetchCryptoPricesFromApi()");
SpreadsheetApp.flush();
const value = range.getValue();
range.clearContent();
const prices = JSON.parse(value)['data'];
console.log(prices)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/473225.html
標籤:javascript 谷歌应用脚本 例外 拿来 币安
上一篇:如何正確堆疊RNN層?
