币安加密货币交易所 API“/account”401 响应

2024-07-03

我在使用 Google Sheet 中的脚本调用 Binance cryptoexchange API 时遇到问题。

我已经使用示例中的数据检查了我的签名处理https://www.binance.com/restapipub.html#user-content-signed-endpoint-security https://www.binance.com/restapipub.html#user-content-signed-endpoint-security我也有同样的签名。

我已使用另一个中心 (coinigy.com) 检查了我的 API 密钥和机密,密钥工作正常。

但我自己执行脚本时仍然遇到 401 错误...

币安支持没有回复。

有人可以帮忙吗?

function BinanceTest(key,secret) {
/*var randnumber=Math.random()*500;
Utilities.sleep(randnumber);*/
var baseURL = "https://api.binance.com";
var completeURL = baseURL + "/api/v3/account";
var timestamp=new Date().getTime();
var payload = "timestamp="+timestamp;
var signature = Utilities.computeHmacSha256Signature(payload, secret);
signature = signature.map(function(byte) {
  return ('0' + (byte & 0xFF).toString(16)).slice(-2);
}).join('');
completeURL=completeURL+"?"+payload+"&signature="+signature;
var params = {
  'method': 'get',
  'headers': {'X-MBX-APIKEY': key},
  'contentType': 'application/x-www-form-urlencoded',
  'muteHttpExceptions': true
};  
var response = fetchJSON(completeURL,params);
var servertime=fetchJSON("https://api.binance.com/api/v1/time").serverTime;
return [servertime,timestamp,payload,signature,JSON.stringify(params),completeURL,response];

};


function fetchJSON (url) {
  var randnumber=Math.random()*3000;
  Utilities.sleep(randnumber);
  try {
    var json = UrlFetchApp.fetch(url,{muteHttpExceptions: true })
    } catch (exception) {
      Logger.log(url+": "+exception)
      return 'exception'
    } 
  if ('undefined' == typeof(json))
    return 'Error retrieving JSON data'
  
  if (json.getResponseCode() != 200)
    return json.getResponseCode()
    
  json = json.getContentText()
  if (json.length<=0)
    return 'JSON data was invalid'

  try {
    json = JSON.parse(json)
  } catch (exception) {
    Logger.log(url+" "+exception)
    return "err2"
  }
  if ('undefined' == typeof(json) || json == null)
    // return 'err'
  return 'Quote data was malformed JSON data'

  return json
}

我认为你的脚本几乎是正确的。但错误的原因是fetchJSON(). fetchJSON()只接收url. But var response = fetchJSON(completeURL,params); sends completeURL and params。这样,fetchJSON()没有收到params并发生错误。那么这个修改怎么样呢?

From :

var response = fetchJSON(completeURL,params);

To :

var response = UrlFetchApp.fetch(completeURL, params);

Note :

  • 如果此修改不起作用,请删除'contentType': 'application/x-www-form-urlencoded', from params, 然后再试一次。

我无法确认这些修改是否有效。如果这不起作用,你能告诉我错误消息吗?我想修改。

Edit :

请尝试以下示例脚本,并告诉我响应。如果返回的响应是“当前账户信息”,则说明脚本运行正常。

  1. 将以下脚本复制并粘贴到脚本编辑器中。
  2. 请在示例脚本中输入您的密钥和密码。
  3. 在脚本编辑器上,运行 -> 运行函数 -> 示例
  4. 脚本完成后,通过查看 -> 日志检索响应

Sample :

function sample() {
  var key = "### your key ###";
  var secret = "### your secret ###";

  var baseURL = "https://api.binance.com";
  var completeURL = baseURL + "/api/v3/account";
  var timestamp=new Date().getTime();
  var payload = "timestamp="+timestamp;
  var signature = Utilities.computeHmacSha256Signature(payload, secret);
  signature = signature.map(function(byte) {
    return ('0' + (byte & 0xFF).toString(16)).slice(-2);
  }).join('');
  completeURL=completeURL+"?"+payload+"&signature="+signature;
  var params = {
    'method': 'get',
    'headers': {'X-MBX-APIKEY': key},
    'muteHttpExceptions': true
  };  
  var response = UrlFetchApp.fetch(completeURL, params);
  Logger.log(response.getContentText())
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

币安加密货币交易所 API“/account”401 响应 的相关文章

  • 是否有 API 可以获取 Google Play 开发者控制台的统计信息? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 获取 pinterest api 的域名

    目前我正在研究 pinterest api 以从我的域获取 pin 我可以通过 api 获取访问令牌 我正在使用以下方法进行 api 调用来获取域 pin https api pinterest com v3 domains
  • 即使单击“允许”后,也会出现“执行该操作需要授权”消息

    我最近遇到了一个授权新的 Google App Script 项目的问题 特别是使用 Cloud SQL 管理 API 的项目 相同的代码存在于之前授权的 GAS 项目中并且工作正常 但是如果我获取 GAS 项目的副本并尝试第一次运行某个函
  • SetCookie 标头未存储

    我目前正在制作一个 Web 应用程序 其中 API 为 Node express js 前端为 Vue js 对于身份验证 我设置了 JWT 并通过 cookie HttpOnly 发送值 SetCookie 位于 Chrome Firef
  • 发送电子邮件的 Google Apps 脚本语法错误。无法识别我的问题

    我正在尝试让 Google 工作表从工作簿中另一张工作表的长列表中发送个性化电子邮件 我使用了教程 因为我是所有编码语言的认证新手 但 AppScript 告诉我第 4 行有语法错误 我一生都无法弄清楚我做错了什么 但我确信当由具有这些合法
  • Google Apps 脚本 oauth connect 不适用于 trello

    我一直在尝试使用 oAuth谷歌应用脚 本 https docs google com macros 访问 trello 数据 但 OAuthService API 似乎对 oAuth 服务做出了一些假设 并且 trello 无法以这种方式
  • 如何在 Google 脚本中输入提示 Google Types?

    我正在尝试在 Google Script 中输入一堆 javascript 并且我已经尝试了以下操作 Get named range given by name param String name return Range function
  • 有没有办法让两张纸保持同步?

    无法仅共享 Google 文档中的一张电子表格 因此 您必须共享整个电子表格 因此 我正在考虑编写一个脚本来同步两个工作表 每个工作表位于不同的电子表格中 我想使用一个函数来获取行作为数组来做到这一点 有更好的策略来做到这一点吗 实现此目的
  • 如何将 Charts.Chart 嵌入 Google Sheet(脚本应用程序)

    我正在寻找一种方法来嵌入Charts Chart到 Google 表格 但不仅如此 我还希望能够将其插入到其他支持中 例如用户表单 Google 文档等 function generateChart data var chartBuilde
  • 查找、匹配和连接

    我需要一个公式 函数来连接一列和多行的单元格值 匹配条件应用于不同的列 这是我必须做的事情的例子 Islington Bunhill EC2M Islington Bunhill EC2Y Islington Bunhill N1 Barn
  • 如何在cj api中根据类别检索产品目录?

    我正在使用 CJ API 我们需要根据类别检索所有产品目录 任何人使用过此类概念请与我分享 更新答案我编写的一个小脚本 用于在 Commission Junction 测试 REST API PHP代码
  • 谷歌应用程序脚本日期格式

    我遇到了一些本来应该非常简单的问题 只需在 Google Apps 脚本 javascript 中创建 Date var thisdate new Date 2017 02 12 Logger log thisdate toString 该
  • Put 和幂等

    如果您的模型包含一个名为 创建 和 更新 的字段 当您使用 PUT 将内容更新到此记录时 是否应该将created设置为数据创建或修改的时间 由于 PUT 是幂等的 因此它不应该依赖于先前的值 既然updated总是在发出请求时被修改 那么
  • Google Apps脚本通过电子邮件发送Google电子表格Excel版本[重复]

    这个问题在这里已经有答案了 我想编写一个应用程序脚本来通过电子邮件发送我的 Google 电子表格的 Excel 版本 我知道我可以将电子表格另存为 Excel 文件 我不确定是否可以使用该脚本将 Excel 版本作为附件通过电子邮件发送出
  • 如何从 Instagram API 中提取 cookie

    我的任务是保存用户的故事 所以我正在深入研究 Instagram API 目前我知道抓取用户的故事是非官方的 所以我们正在使用https i instagram com api v1 feed reels tray 该请求需要一个 cook
  • Laravel API TokenMismatchException

    我有一个带有发布数据的 API 调用 假设这是登录过程 使用 Chrome 的 Postman 扩展 我通过 POST 发送用户名和密码以登录用户 但我收到了这样的消息 Illuminate Session TokenMismatchExc
  • Laravel API TokenMismatchException

    我有一个带有发布数据的 API 调用 假设这是登录过程 使用 Chrome 的 Postman 扩展 我通过 POST 发送用户名和密码以登录用户 但我收到了这样的消息 Illuminate Session TokenMismatchExc
  • 如何在 Django Rest 框架可浏览 API 中发送标头

    如何在 Django REST 框架可浏览 API 视图中发送标头 我通过匹配标头中传递的令牌来验证调用 我可以在邮递员中使用该 API 并且效果很好 但我想提供输入以将访问令牌放在 Django REST 框架的可浏览 API 上 作为参
  • Laravel Passport 密码授予令牌:自己的移动应用程序

    所以我的移动应用程序将是客户端 我为其生成了一个 client id 和一个 client secret 使用移动应用程序的用户必须使用其用户名 密码登录 我应该在哪里存储 client id 和 client secret 是否可以公开它
  • 通过谷歌脚本垂直对齐谷歌电子表格上的文本

    我想弄清楚如何在中间垂直对齐文本 根据文档 我发现我的以下示例应该有效 var form FormApp getActiveForm var ss SpreadsheetApp openById form getDestinationId

随机推荐

  • python - 计算列表中单词之间的拼写相似度

    我需要计算给定语料库中单词之间的拼写相似度 编辑 编辑距离 正如基里尔下面所建议的 我尝试执行以下操作 import csv itertools Levenshtein import numpy as np import the list
  • 如何从 ASP.NET Core 中的另一个类访问 DataContext?

    我创建了一个类 以便我可以查询我的数据 如果我在控制器类数据上下文中执行此操作 则有效 但如果我在创建的类中执行此操作 则会抛出 null 错误 它抛出以下错误 Microsoft Extensions DependencyInjectio
  • 聚合 SQL 函数以仅获取每组中的第一个

    我有 2 个表 一个帐户表和一个用户表 每个帐户可以有多个用户 我有一个场景 我想对这两个表执行单个查询 联接 但我想要所有帐户数据 Account 并且只需要first用户数据集 特别是他们的名字 我不想对聚合组执行 最小 或 最大 操作
  • Visual Studio 2015 RC智能感知不显示参数列表

    我从 CTP 6 开始就一直使用 Visual Studio 2015 我注意到当我键入左括号 时 IDE 不显示参数列表 这就是我期待看到的 在上面的屏幕截图中 您可以看到 Create 方法有两个重载 当我键入左括号时会显示该重载 但在
  • 如何从 IntelliJ IDEA 中获取“重新格式化代码”功能?

    我喜欢 IntelliJ IDEA 的 重新格式化代码 Ctrl Alt L 功能 现在我有很多 XML 文件需要查看 我现在要做的是 我打开一个xml文件 全选 复制并粘贴到IntelliJ IDEA打开的xml文件中 然后使用 重新格式
  • printf() 中的井号“#”有何作用?

    int x 0xff printf x x Output 0xff printf x x Ouput ff 为什么输出会有差异 什么是 具体做什么 标准说 7 21 6 2 结果被转换为 替代形式 对于 x 或 X 转换时 非零结果的前缀为
  • OpenGL 压缩纹理和扩展

    I ve an nVidia Quadro NVS 295 PCIe SSE2当我这样做时glGetString GL EXTENSIONS 打印出值并 grep 查找 压缩 我得到这个列表 GL ARB compressed textur
  • 为什么这只返回“是”

    int OnLoad cout lt lt Hi whats your name cin gt gt name system cls cout lt lt Hi lt lt name lt lt lt lt Are you here to
  • 添加事件和提醒在 6.0 marshmallow 中不起作用

    我面临着奇怪的问题 我正在尝试添加事件calendar并且reminder 除了具有以下功能的设备外 它在所有设备上都能正常工作Marshmallow 6 0 当我尝试添加事件时 它还会在此处返回事件 ID 即使我在这里获取事件 ID I
  • Java 中的捕获与抛出异常 [重复]

    这个问题在这里已经有答案了 所以我有两个关于java的一般性问题 第一个是何时在方法主体中使用 try catch 与在声明方法时使用 throws 异常 这是我的意思的一个小演示 这 public void whileChatting t
  • 没有配置数据源来运行此 SQL

    我在用 Java 创建表 用于数据库 时遇到了一些问题 目前 我正在使用 IntelliJ IDEA 当我编写用于创建表的代码时 文本以黄色突出显示 当我查看问题时 我看到以下消息 没有配置数据源来运行此 SQL 并提供高级代码帮助 通过问
  • OpenCV 错误:断言失败(通道()== CV_MAT_CN(dtype))

    我花了很多时间试图解决这个问题 这是我的日志文件中的以下错误 Android error OpenCV Error Assertion failed channels CV MAT CN dtype in void cv Mat copyT
  • 如何在 PHP 中链接方法? [复制]

    这个问题在这里已经有答案了 jQuery 让我可以链接方法 我还记得在 PHP 中看到过同样的内容 所以我写了这样的 class cat function meow echo meow function purr echo purr kit
  • 整数值不正确:第 1 行的列“id”为“”

    我正在尝试插入到我的 mySQL 数据库中 第一列是 id 列 因为它是一个自动增量字段 所以我将其留空 由于某种原因 我无法插入并且收到下面提到的错误 我很感谢对此的任何帮助 我在尝试插入时收到以下错误 Incorrect integer
  • 在 ASP.NET MVC 中将角度属性与 TextBoxFor 一起使用

    我正在使用 ASP NET MVC 和 AngularJs 我是 AngularJs 的新手 我正在尝试创建一个使用 AngularJS 的表单 首先 我有一个登录表单 要求输入用户名和密码 用户名使用Html TextBoxFor如下所示
  • 读取应用程序的清单文件?

    有没有一种简单的方法来读取应用程序已嵌入的清单文件 我正在考虑替代数据流 Windows 清单文件是 Win32 资源 换句话说 它们嵌入到 EXE 或 DLL 的末尾 您可以使用LoadLibraryEx FindResource Loa
  • Swift 3 输入流和输出流连接但没有流

    我在 Swift 3 中使用 StreamDelegate 连接到 Java 套接字时遇到问题 我目前正在重写一个大型 Objective C 项目 其中这段代码运行得像一个魅力 但我似乎无法得到它可以在 Swift 3 中工作 我遇到的问
  • Objective-C 自定义 Getter/Setter

    我正在使用以下由 Xcode 自动生成的 NSManagedObject interface Portion NSManagedObject property nonatomic retain NSNumber volume 我想创建一个自
  • 使用空值更新嵌套结构

    我有一个数据框 其中有一列是嵌套的 StructType StructType 是深层嵌套的 并且可能包含其他结构 现在我想在最底层更新这个专栏 我尝试了 withField 但如果任何顶级结构为空 它就不起作用 我将不胜感激任何帮助 示例
  • 币安加密货币交易所 API“/account”401 响应

    我在使用 Google Sheet 中的脚本调用 Binance cryptoexchange API 时遇到问题 我已经使用示例中的数据检查了我的签名处理https www binance com restapipub html user