Oauth2从UBER获取access_token

时间:2015-05-28 12:54:53

标签: java post oauth uber-api

我试图将授权码转换为访问令牌,然后我得到了" BAD REQUEST" (400)和空响应体。

这是我的代码:

'%'.$yoursearchword.'%'

UBER相关docs

我正在寻找解决方案两天。另外我检查了stackoverflow中的所有类似问题,但我什么也没找到。

非常感谢

修改 问题解决了,以下是工作代码:

    Scanner in = new Scanner(System.in);
    HttpClient client = new HttpClient();

    PostMethod post = new PostMethod("https://login.uber.com/oauth/token");

    post.setRequestHeader("Content-Type", URLEncoder.encode("application/x-www-form-urlencoded", "UTF-8"));

    post.setParameter("grant_type",URLEncoder.encode("authorization_code", "UTF-8"));
    post.setParameter("client_id",URLEncoder.encode("mq_LxaL0P-Kn8Wq3TmuhztFkOhISxReq", "UTF-8"));
    post.setParameter("client_secret",URLEncoder.encode("MY_SECRET", "UTF-8"));
    post.setParameter("redirect_uri",URLEncoder.encode("https://jfpmrvbais.localtunnel.me/TaxyNow/webresources/generic", "UTF-8"));
    post.setParameter("code", URLEncoder.encode("S9UOTmXLGp20GF6y7TFf9pw5Pkekrl", "UTF-8"));


    client.executeMethod(post);
    String responseBody = post.getResponseBodyAsString();
    String statusCode= post.getStatusText();

一件重要的事情: 它们要求您插入在上一个请求中插入的相同redirect_url。

1 个答案:

答案 0 :(得分:0)

您是否尝试过库来处理OAuth? 该文档说“我们建议您使用预先构建的库来执行授权和令牌交换”https://developer.uber.com/v1/auth/。 我也面临一些问题,但至少我没有得到400回: - )。

马特