C# 使用RestSharp库获取Coinbase钱包列表

C# 使用RestSharp库获取Coinbase钱包列表,c#,restsharp,coinbase-api,C#,Restsharp,Coinbase Api,我需要检索Coinbase帐户的钱包列表。为了实现这一点,我需要使用RestSharp(不允许使用第三个库),使用API私钥 我试图检索它们,但当我运行代码时,作为响应,我得到了一个无效响应,并显示一条错误消息 “无法识别URI前缀。” 如何检索钱包列表 这是我的代码: using RestSharp; using System; using System.IO; using System.Linq; using System.Security.Cryptography; using Syste

我需要检索Coinbase帐户的钱包列表。为了实现这一点,我需要使用RestSharp(不允许使用第三个库),使用API私钥

我试图检索它们,但当我运行代码时,作为响应,我得到了一个无效响应,并显示一条错误消息

“无法识别URI前缀。”

如何检索钱包列表

这是我的代码:

using RestSharp;
using System;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;

namespace WCoinBase
{
  class Program
  {

    private const string apiKey = "MyPrivateKey";

    static void Main(string[] args)
    {
      RestClient restClient = new RestClient
      {
        BaseUrl = new Uri("https://api.coinbase.com/v2/")
      };
      string timestamp = DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
      string path = "wallet:accounts:read";
      var request = new RestRequest
      {
        Method = Method.GET,
        Resource = path
      };
      string accessSign = GetAccessSign(timestamp, "GET", path, "");
      request.AddHeader("CB-ACCESS-KEY", apiKey);
      request.AddHeader("CB-ACCESS-SIGN", accessSign);
      request.AddHeader("CB-ACCESS-TIMESTAMP", timestamp);
      request.AddHeader("CB-VERSION", "2017-08-07");
      request.AddHeader("Accept", "application/json");
      var response = restClient.Execute(request);
      Console.WriteLine("Status Code: " + response.StatusCode);

    }

    static private string GetAccessSign(string timestamp, string command, string path, string body)
    {
      var hmacKey = Encoding.UTF8.GetBytes(apiKey);

      string data = timestamp + command + path + body;
      using (var signatureStream = new MemoryStream(Encoding.UTF8.GetBytes(data)))
      {
        var hex = new HMACSHA256(hmacKey).ComputeHash(signatureStream)
           .Aggregate(new StringBuilder(), (sb, b) => sb.AppendFormat("{0:x2}", b), sb => sb.ToString());

        return hex;
      }
    }
  }
}

出现此错误的原因是URL由
https://api.coinbase.com/v2/wallet:accounts:read
,它不是有效的URL

您将作用域设置为路径,这是不正确的

你应该点击
GEThttps://api.coinbase.com/v2/accounts

见:

路径应该是“帐户”,而不是
钱包:帐户:读取


可以找到有关作用域的文档。

出现此错误的原因是URL由
https://api.coinbase.com/v2/wallet:accounts:read
,它不是有效的URL

您将作用域设置为路径,这是不正确的

你应该点击
GEThttps://api.coinbase.com/v2/accounts

见:

路径应该是“帐户”,而不是
钱包:帐户:读取


可以找到有关作用域的文档。

这不是命令。这是您添加到凭据中的权限范围。那不是命令。这是您添加到凭据中的权限范围。