java - 使用 seateller api 的 OAuth 验证失败

标签 java android web-services api oauth

我正在使用座位卖家 API 从座位卖家 API 中检索一些数据。他们使用 oAuth 来防止未经授权的请求。他们给了我访问他们的网络服务的消费者 key 和消费者 key ,但他们没有为我提供 oAuth 库。我有点困惑如何制作我自己的 oAuth 库?

下面是从webservice获取数据的url

http://api.seatseller.travel/destinations?source=3

如果您粘贴此网址,您会看到“错误:OAUTH 验证失败。”。

谁能指导我如何使用 oauth token 和 key 发出 HTTP 请求?

最佳答案

这是有效的解决方案

这是我发现的。

对于 oauth,我提供了消费者 key 和消费者 key 。我试图在没有访问 token 的情况下发出身份验证请求,这可以使用以下代码实现。

    OAuthConsumer consumer = new DefaultOAuthConsumer(
            "vLrlKnO7XgdH3eu4dvcG5BU9QwCtrQ",
            "AdsphqRmHTvhtZLyiNoCeliLJP2NXZ");
    consumer.setTokenWithSecret(null, null); //i pass token as access token as a null as my server dont need it.

    // create an HTTP request to a protected resource
    URL url = new URL(
            "http://www.mywebservice.com");
    HttpURLConnection request = (HttpURLConnection) url.openConnection();

    // sign the request
    consumer.sign(request);

    // send the request
    request.connect();

    InputStream in = new BufferedInputStream(request.getInputStream());
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    StringBuilder out = new StringBuilder();
    String line = "";
    while ((line = reader.readLine()) != null) {
        out.append(line);
    }
    System.out.println(out.toString());

我使用下面的 api 进行 oAuth 和 Http 连接

  1. commons-codec-1.6.jar
  2. 列表项
  3. commons-logging-1.1.3.jar
  4. httpclient-4.3.5.jar
  5. httpcore-4.3.2.jar
  6. signpost-commonshttp4-1.2.1.2.jar
  7. signpost-core-1.2.1.2.jar

关于java - 使用 seateller api 的 OAuth 验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26058930/

相关文章:

java - 减少应用程序传送的 Realm 数据库的大小

java - Realm 结果返回 null

java - SOAP Web 服务 - 无法从 XSD 生成类

java - 处理无法映射到 SOA 中的一个前端页面的错误

Java - 读取进程输出时出现问题

java - 打印形成

java - 如何改变图形的大小

java - Eclipse 在同一方法中访问变量的奇怪行为

java - 当 java 中无法发现 wsdl 时,建议使用 SOAP Web 服务的方式是什么

Java ReplaceAll 在替换中使用找到的模式