0

我正在尝试使用 JAVA 开发一个 Web 应用程序来从 box.com 检索文件和文件夹。

为此,我正在使用 OAuth 流程。在这个过程中,我采用了“access_token”。通过使用这个“aceess_token”,我需要向 API V2 发出请求。

为此,box-api 人给出了一个 URL:

https://www.box.com/api/2.0/folders/0 -H "Authorization: Bearer {acceess_token}"

所以,我的问题是:

  • 什么是“授权:承载”?
  • 如何将此字符串附加到url?
  • 如何传递“access_token”?
4

4 回答 4

1

那里有很多(一般)问题。Oauth 不是一个简单的主题。我发现这个http://tutorials.jenkov.com/oauth2/index.html以非常简洁的方式解释它。

于 2013-07-08T11:15:59.330 回答
1
URL url = new URI("https", "www.box.com", "/api/oauth2/token",null).toURL();
urlConn.setRequestProperty("Authorization", "Bearer " + accessToken);
if (urlConn.getResponseCode() == 200)
{
     //get stringBuffer filled
}
于 2013-12-12T12:35:51.093 回答
0

您可能想尝试 box java sdk:https ://github.com/box/box-java-sdk-v2 它支持 OAuth 流程,但现在缺少 OAuth UI。还有一个 hello world 示例展示了如何为 OAuth 流程实现 UI:https ://github.com/box/box-java-sdk-v2/wiki/HelloWorld

于 2013-07-08T20:08:29.643 回答
0

Sarath,“授权:承载”这里不是 URL 参数。您不想将其附加到 URL。它实际上是一个 HTTP Header 和 value 的键值对。

也就是说,您需要将“Authorization”标头设置为值“Bearer”

所以在这里,您的请求可能如下所示:

URL url = new URL("https://api.box.com/2.0/folders/0");
UrlConnection conn = url.openConnection();
conn.setRequestProperty("Authorization", "Bearer my_access_token");

正如Jian 所说,我建议您使用Box Java SDK 来更轻松地处理这里的网络问题。

于 2013-12-12T22:38:17.417 回答