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() + "===";