2012-12-20 1 views
2

Box API를 사용하여 일주일 전에 작업했던 코드 (java)에 문제가 있습니다. 폴더를 만들 POST를 수행하는 동안 405 Method Not Allowed가 표시됩니다. 나는 최근 v2 api가 생방송으로가는 것과 관련이 있다고 가정하고 문제를 해결하려고 노력했다. 그러나 문서에서 예제를 시도하는 것으로 돌아가서 나는 또한 문제를보고있다. 예를 들어, 문서는 다음 예제를 제공합니다 ...갑자기 상자 405에서 POST를하는 동안 메소드가 허용되지 않음 box-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 (0 포함)를 시도하고 새 V1 인증 토큰을 생성 해 보았습니다. 아직 아무것도.

내가 이해 한대로 V1 인증 토큰은 조금 더 오랫동안 계속 작동해야합니다. 그게 맞지 않아? 다른 사람이이 문제를보고 있습니까? 여기

갑자기 지금은 아파치 유창 lib 디렉토리를 사용하는 (405)를 제공하기 시작했다 기존의 자바 코드 ...
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 "

이 문제에 대한 빠른, 심지어 임시 해결책이 있다면 그것은 좋은 것입니다. 모든 단서는 높이 평가됩니다.

답변

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로 전환해야한다는 점을 지적했습니다.

+0

그 점을 지적 해 주셔서 감사합니다. 당신의 대답은 확실합니다. 나는 두 개의 별개의 문제 사이에 매듭을 맺었다 고 생각한다. –

1

베어러 헤더 즉

Authorization: Bearer {a bearer token acquired through oauth2} 

OAuth 2 process 통해 검색 베어러 토큰으로 작동 할 것이다. 이 헤더 은 V1 인증 프로세스를 통해 검색된 인증 토큰이 아닌과 작동합니다. 당신이 이전 헤더 스타일을 사용해야합니다 V1 인증 토큰 즉

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

감사합니다. 대단히 감사합니다. –

관련 문제