gpt4 book ai didi

java - 缺少必需的参数 : account

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:19 25 4
gpt4 key购买 nike

我正在使用 Coinbase API,请 visit here了解有关此 API 的更多信息。

所以,我正在运行这个程序,你可以看一下,但它说:

{"success":false,"errors":["Required parameter missing: account"]}

这是我的程序:

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Hex;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

import com.coinbase.api.Coinbase;
import com.coinbase.api.CoinbaseBuilder;

public class TransactionExample {

static String API_KEY = "MY API KEY";

static String API_SECRET = "MY API SECRET";

public static String getHttp(String url, String body)
throws InvalidKeyException, NoSuchAlgorithmException,
ClientProtocolException, IOException {

String nonce = String.valueOf(System.currentTimeMillis());
String message = nonce + url + (body != null ? body : "");

Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(API_SECRET.getBytes(), "HmacSHA256"));
String signature = new String(Hex.encodeHex(mac.doFinal(message.getBytes())));

HttpRequestBase request;
if (body == null || body.length() == 0)
request = new HttpGet(url);
else {
HttpPost post = new HttpPost(url);
post.setEntity(new StringEntity(body));
request = post;
}
request.setHeader("ACCESS_KEY", API_KEY);
request.setHeader("ACCESS_SIGNATURE", signature);
request.setHeader("ACCESS_NONCE", nonce);

HttpClient httpClient = HttpClientBuilder.create().build();
HttpResponse response = httpClient.execute(request);

HttpEntity entity = response.getEntity();
if (entity != null)
return EntityUtils.toString(entity);
return null;
}

public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException, ClientProtocolException, IOException{

System.out.println(getHttp("https://api.coinbase.com/v1/accounts", "{'account':{'name':'Savings Wallet'}}"));
}
}

请帮忙!

当然,我们将不胜感激!

最佳答案

您需要将占位符文本替换为您的实际 API key :

 static String API_KEY = "MY API KEY";

static String API_SECRET = "MY API SECRET";

您可以通过 https://www.coinbase.com/settings/api 获取它们。

不过,如果您刚刚开始,我建议您使用 Sandbox 进行测试。 API优先以避免任何安全风险。如果您的 API key 有权购买/出售或从您的帐户汇款,则任何拥有这些 key 的人都可以这样做。

使用 Sandbox API 时,您需要将 URL 从 https://api.coinbase.com/v1/accounts 更改为 https://api.sandbox。 coinbase.com/v1/accounts

此外,我们还发布了 v2 of our API ,这更棒,但需要对此脚本进行一些其他修改。

关于java - 缺少必需的参数 : account,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27270460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com