Google cloud storage 通过Google CloudEndpoint API访问Google云存储XML API策略文档。词法错误:输入不匹配
我得到以下错误Google cloud storage 通过Google CloudEndpoint API访问Google云存储XML API策略文档。词法错误:输入不匹配,google-cloud-storage,httpurlconnection,google-cloud-endpoints,android-xmlpullparser,Google Cloud Storage,Httpurlconnection,Google Cloud Endpoints,Android Xmlpullparser,我得到以下错误 InvalidPolicyDocument 表单不符合策略中指定的条件 文档。策略文档分析错误:词法错误 错误:输入不匹配: 下面是我调用HTTPURLConnection的异步任务。multipartv1类来自 在AsyncTaskDoinBackground中 {multipartv1.addFormField("key", filename_insert_value); multipartv1.addFormField("bucket", “myapplication”);
InvalidPolicyDocument
表单不符合策略中指定的条件
文档。策略文档分析错误:词法错误
错误:输入不匹配:
下面是我调用HTTPURLConnection的异步任务。multipartv1类来自
在AsyncTaskDoinBackground中
{multipartv1.addFormField("key", filename_insert_value);
multipartv1.addFormField("bucket", “myapplication”);
multipartv1.addFormField("Content-Type", "image/jpeg");
multipartv1.addFormField("GoogleAccessId", “myapplication@appspot.gserviceaccount.com");
multipartv1.addFormField("acl", "bucket-owner-read");
multipartv1.addFormField("success_action_redirect", "https://myapplication.appspot.com/getpolicydocumentsuccess");
multipartv1.addFormField("success_action_status", "201");
multipartv1.addFormField("x-goog-meta-programname", this.current_program_name);
multipartv1.addFormField("x-goog-meta-membername", this.member_element_id);
multipartv1.addFormField("x-goog-meta-tag1", tag1);
multipartv1.addFormField("x-goog-meta-tag2", tag2);
multipartv1.addFormField("x-goog-meta-tag3", tag3);
multipartv1.addFormField("x-goog-meta-tag4", tag4);
multipartv1.addFormField("x-goog-meta-tag5", tag5);
multipartv1.addFormField("policy", this.policy);
multipartv1.addFormField("signature", this.signature);
multipartv1.addFilePart("file", new File(this.file_absolute_path));
List<String> response_multipart = multipartv1.finish();
Log.e(Tag, "SERVER REPLIED:");
for (String line : response_multipart) {
Log.e(Tag, "Upload Files Response:::" + line);
}
HTTP Post调用在此处-
public List<String> finish() throws IOException {
List<String> response = new ArrayList<String>();
writer.append(LINE_FEED).flush();
writer.append("--" + boundary + "--").append(LINE_FEED);
writer.close();
// checks server's status code first
int status = httpConn.getResponseCode();
if (status == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
httpConn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null) {
response.add(line);
}
reader.close();
httpConn.disconnect();
} else {
throw new IOException("Server returned non-OK status: " + status);
}
return response;
}
您可以发布所示错误的完整堆栈跟踪吗?通过将字符串分解为以下策略来解决此问题:“{multipartv1.addFormField(“key”,filename\u insert\u value),multipartv1.addFormField(“success\u action\u redirect”;“+”“+”);multipartv1.addFormField(“success\u action\u status”,“201”);”很高兴听到。你现在应该将其作为自我回答发布。我收到了相同的错误,你是如何解决的。
策略文档解析错误:词法错误:不匹配的输入:你能发布所显示错误的完整堆栈跟踪吗?通过将字符串分解为以下Policy_doc=“”{multipartv1.addFormField(“key”)来解决此问题,filename_insert_value),multipartv1.addFormField(“success_action_redirect”;“+”+“+”);multipartv1.addFormField(“success_action_status”,“201”);“很高兴听到。你现在应该把它作为一个自我回答发布。我收到了相同的错误,你是如何解决的。策略文档解析错误:词法错误:输入不匹配:
public List<String> finish() throws IOException {
List<String> response = new ArrayList<String>();
writer.append(LINE_FEED).flush();
writer.append("--" + boundary + "--").append(LINE_FEED);
writer.close();
// checks server's status code first
int status = httpConn.getResponseCode();
if (status == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
httpConn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null) {
response.add(line);
}
reader.close();
httpConn.disconnect();
} else {
throw new IOException("Server returned non-OK status: " + status);
}
return response;
}
String boundary = "===" + System.currentTimeMillis() + "===";