java - 在 POST 期间突然收到 405 方法不允许在 box-api 中创建文件夹

标签 java post curl oauth-2.0 box-api

我突然发现大约一周前使用 Box API 运行的代码 (java) 出现问题。我在执行 POST 以创建文件夹时收到 405 Method Not Allowed。我试图解决这个问题,假设它可能与最近的 v2 api 上线有关。但是,回到尝试文档中的示例时,我也看到了问题。例如,文档给出了以下示例......

curl https://api.box.com/2.0/folders -H "Authorization: Bearer MY_V1_AUTH_TOKEN_HERE" -d '{"name":"API Test Create", "parent": {"id": "ID_OF_PARENT_FOLDER_HERE"}}' -X POST

当我测试它时什么都不做。没有新文件夹,也没有输出。我尝试过使用不同的文件夹 ID(包括零),并且尝试生成新的 V1 身份验证 token 。还是什么都没有。

据我了解,V1 身份验证 token 应该会继续工作一段时间。那不对吗?还有其他人看到这个问题吗?

这是现有的 java 代码,现在突然开始给出 405。它使用 apache fluent lib ...

String response = Request.Post(new 
StringBuilder(API_BASE_URL).append("/folders/").append(parent_folder_id).toString())
.addHeader("Authorization", API_REQUEST_HEADER)
.bodyString(new StringBuilder("{\"name\":\"")
.append(name).append("\"}").toString(), ContentType.DEFAULT_TEXT)
.execute()
.handleResponse(myResponseHandler);

其中 API_BASE_URL="https://www.box.com/api/2.0"和 API_REQUEST_HEADER="BoxAuth api_key=MY_APP_API_KEY&auth_token=MY_V1_AUTH_TOKEN"

如果有一个快速的、甚至是临时的解决方案来解决这个问题,那就太好了。感谢任何线索。

最佳答案

Bearer header 即

Authorization: Bearer {a bearer token acquired through oauth2}

仅适用于通过 OAuth 2 process 检索到的不记名 token .此 header 不会与通过 V1 身份验证过程检索到的身份验证 token 一起使用。您需要使用带有 V1 身份验证 token 的旧 header 样式,即

Authorization: BoxAuth api_key={your api key}&auth_token={your v1 auth token}

关于java - 在 POST 期间突然收到 405 方法不允许在 box-api 中创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977266/

相关文章:

java - OutputStream 不会保存文件的所有更新

java - 如何获取Jar文件路径

php - 长时间执行php cURL脚本而不更改php.ini设置

c# - 发布方法并使用某些值重定向而不使用 Form C#

android - 在 Android 中调用 .NET Web API Post Service 发送空消息

curl - 在 curl 命令中为文件名添加时间戳

ruby-on-rails - 在 ubuntu 14.04 中安装 rvm

java - DemoActivity.java 使用或覆盖已弃用的 API。注意 : Recompile with -Xlint:deprecation for details

java - js中转义双引号和其他特殊字符

node.js - 从 Axios/React 将 json POST 到 Node/Express 服务器时出现问题