google-http-java-client * docs에서 파일 필드가있는 양식을 게시하는 방법은 명확하지 않습니다. 예를 들어google-http-java-client를 사용하여 멀티 파트 양식 게시
나는 Google 클라우드 프린트 API를 사용하여 문서를 인쇄하기 위해 노력하고있어 :
HttpRequestFactory httpRequestFactory = getHttpRequestFactory();
Map<String, Object> parameters = Maps.newHashMap();
parameters.put("printerId", printRequest.getPrinterId());
parameters.put("title", printRequest.getTitle());
parameters.put("contentType", printRequest.getContentType());
parameters.put("ticket", new Gson().toJson(printRequest.getOptions()));
MultipartContent content = new MultipartContent();
content.addPart(new MultipartContent.Part(new UrlEncodedContent(parameters)));
content.addPart(new MultipartContent.Part(
new FileContent(printRequest.getContentType(), printRequest.getFile())));
try {
HttpResponse response = httpRequestFactory.buildPostRequest(
SubmitUrl, content).execute();
System.out.println(IOUtils.toString(response.getContent()));
} catch (IOException e) {
String message = String.format();
System.out.println("Error submitting print job: " + e.getMessage());
}
을 불행하게도이 작동하지 않습니다. API가 '이 요청에 필요한 프린터 ID'오류를 반환합니다. 요청이 제대로 형성되지 않은 것처럼 보입니다.
내가 뭘 잘못하고 있니?
* 특별히 OAuth 토큰 등의 자동 새로 고침을 처리 할 때 google-http-java-client를 사용하고 있습니다. 다른 HTTP 클라이언트 사용과 관련된 솔루션으로 회신하지 마십시오.
"printRequest.getContentType()"코드의 내용은 무엇입니까? –