使用seatseller api验证OAuth验证失败

时间:2014-09-26 11:53:09

标签: java android web-services api oauth

我正在使用座位卖家api从座位卖家api中检索一些数据。他们正在使用oAuth来防止未经授权的请求。他们给了我消费者密钥和消费者密钥以访问他们的网络服务,但他们还没有提供oAuth库。我对如何建立自己的oAuth库感到困惑?

下面是从webservice获取数据的URL

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

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

任何人都可以指导我如何使用oauth令牌和密钥进行HTTP请求吗?

1 个答案:

答案 0 :(得分:1)

这是可行的解决方案

这就是我找到的。

对于oauth,我提供了消费者密钥和消费者密钥。我试图在没有访问令牌的情况下进行身份验证请求,这可以使用下面的代码来实现。

    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. 公地编解码器-1.6.jar
  2. 列表项
  3. 共享记录-1.1.3.jar
  4. 的HttpClient-4.3.5.jar
  5. 的HttpCore-4.3.2.jar
  6. 路标-commonshttp4-1.2.1.2.jar
  7. 路标核-1.2.1.2.jar