1

我在通过他们的 REST API 与 Tradeshift(一家丹麦公司)连接时遇到问题。我有连接所需的信息(令牌、令牌秘密和获取 ID)

这是一个 HTTP 服务,我发送了 HTTP 请求(post、get 和 put),但我没有得到第一个响应(200 OK)说我已连接。

当我使用一个干净的可执行文件获得登录所需信息的公司时,我发送了一个请求,它显示一个错误:无效的令牌(这是公司提供的信息)。

我还尝试使用自己编写的 java 程序进行连接。我用记事本++写的。当我编译并在命令行中运行程序时,我得到了错误。进口是自动进行的还是我必须做其他事情?

我的程序如下:

package com.tradeshift.api.client;
import com.sun.jersey.api.client.*;
import com.sun.jersey.oauth.client.OAuthClientFilter;
import com.sun.jersey.oauth.signature.OAuthParameters;
import com.sun.jersey.oauth.signature.OAuthSecrets;

public class Sample {

    public static final String HOSTNAME = "https://api-sandbox.tradeshift.com";
    public static final String CONSUMER_KEY = "OwnAccount"; 
    public static final String CONSUMER_SECRET = "OwnAccount";
    public static final String TOKEN = "8Hx7xGR4kmH7Tj2K-Q+39Mrsm6DQ-s";
    public static final String TOKEN_SECRET = "4tUzAVSrBrPXD+a94vEtDW7NcH7XWQXYY7fgcXb@";
    public static final String TENANT_ID = "b59a01fa-8dd7-4d8a-b175-4c72b4a6c891";

    public static void main(String[] args) {

        Client client = Client.create();

        OAuthParameters params = new OAuthParameters().signatureMethod("HMACSHA1").consumerKey(CONSUMER_KEY).token(TOKEN).version();
        OAuthSecrets secrets = new     OAuthSecrets().consumerSecret(CONSUMER_SECRET).tokenSecret(TOKEN_SECRET);
        OAuthClientFilter filter = new OAuthClientFilter(client.getProviders(),    params, secrets);

        WebResource res = client.resource(HOSTNAME + "/tradeshift/rest/external/network/connections");
        res.addFilter(filter);

        String networkResult = res.header("X-Tradeshift-TenantId", TENANT_ID).header("User    Agent", "TradeshiftJerseyTest/0.1").get(String.class);
        System.out.println(networkResult);
    }
}
4

0 回答 0