2

Box APIを使用して約1週間前に機能していたコード(java)に突然問題が発生しました。フォルダーを作成するためにPOSTを実行しているときに、405メソッドが許可されていません。最近のv2APIの稼働と関係がある可能性があると想定して、問題のトラブルシューティングを試みました。ただし、ドキュメントの例を試すことに戻ると、問題も発生しています。たとえば、ドキュメントには次の例があります...

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認証トークンを生成しようとしました。まだ何もありません。

私が理解していることから、V1認証トークンはもう少し長く機能し続けるはずです。それは正しくありませんか?他の誰かがこの問題を見ていますか?

これは、突然405を提供し始めた既存のJavaコードです。apachefluentlibを使用しています...

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"

この問題に対する迅速で一時的な解決策があれば素晴らしいと思います。手がかりはありがたいです。

4

2 に答える 2

1

ベアラーヘッダーすなわち

Authorization: Bearer {a bearer token acquired through oauth2}

OAuth 2 プロセスで取得したベアラー トークンでのみ機能します。このヘッダーは、V1 Auth プロセスで取得した認証トークンでは機能しません。V1 認証トークンで古いヘッダー スタイルを使用する必要があります。

Authorization: BoxAuth api_key={your api key}&auth_token={your v1 auth token}
于 2012-12-20T18:23:16.647 に答える
0

Create a New Folderメソッドが少し変更されました。これは、含まれている cURL の例に示されています。ここで、要求 URL の末尾に親フォルダー ID を含めてはならず、要求本文に親フォルダー ID を含める必要があります。

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

編集:メソッド シグネチャの変更により差し迫った問題が解決されると思いますが、seanrose は、長期的な安定性のために OAuth2 に移行する必要があることを指摘しています。

于 2012-12-20T18:24:27.413 に答える