首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试从Neteller获得OAuth访问令牌会产生错误:“服务器返回的代码: 401 for URL”

尝试从Neteller获得OAuth访问令牌会产生错误:“服务器返回的代码: 401 for URL”
EN

Stack Overflow用户
提问于 2015-03-17 10:54:22
回答 1查看 1.2K关注 0票数 0

我想向Neteller设置一个成功的请求,我试图使用Neteller文档中的代码获得一个访问令牌。但是,除了以下例外,它始终失败:

代码语言:javascript
复制
java.io.IOException: Server returned HTTP response code: 401 for URL: https://test.api.neteller.com/v1/oauth2/token?grant_type=client_credentials

下面是代码(同样,来自Neteller文档):

代码语言:javascript
复制
    String testUrl = " https://test.api.neteller.com";
    String secureUrl = "https://api.neteller.com";
    String url = testUrl;
    if("live".equals(configBean.get("environment"))){
        url = secureUrl;
    }
    url += "/v1/oauth2/token?grant_type=client_credentials";
    String xml = "grant_type=client_credentials?grant_type=client_credentials";
    xml = "";
    String test = Base64.encodeBytes((accountID + ":" + secureID).getBytes());
    try { 
        URL urls = new URL ("https://test.api.neteller.com/v1/oauth2/token?grant_type=client_credentials");
        HttpURLConnection connection = (HttpURLConnection) urls.openConnection();
        connection.setRequestMethod("POST");
        connection.setDoOutput(true);
        connection.setRequestProperty  ("Authorization", "Bearer " + test);
        connection.setRequestProperty  ("Content-Type", "application/json");
        connection.setRequestProperty  ("Cache-Control", "no-cache");
        DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
        wr.flush();
        wr.close();
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        String accessToken = "";
    } catch(Exception e) {
        e.printStackTrace();
    }

为什么我的执行在这里失败了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-18 07:01:24

你的代码没有什么问题。问题是,您正在尝试使用常规成员帐户进行API集成,为此您需要使用商人帐户。以下是您需要完成的步骤,以便使其工作:

  1. 您需要获得一个测试商人帐户 (http://www.neteller.com/business/contact-sales/)。在www.neteller.com上注册将创建一个常规成员帐户,该帐户不能通过API接收付款。
  2. 一旦您有了一个测试商人帐户,您将需要白名单的IP地址,您将提出请求的API。(pg. )(手册第31页)。
  3. 然后,您需要向它添加一个应用程序(pg )。“手册”第32条)。
  4. 添加应用程序之后,在授权头中使用“客户ID”和“客户端机密”--就像现在一样,用冒号(:)分隔base64编码的值。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29097264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档