6

Google Docs API を利用するアプリケーションがあります。最近まで、HTTP エンドポイントを使用したアップロードは正常に機能していました。最近、アップロードが突然エラーになるようになりました。セッションを作成するための最初の呼び出し (再開可能な URL を返す) は正常に機能し、再開可能な URL を返します。その後、ファイルの内容を再開可能な URL に送信しようとすると、503 がスローされます。

エラーをスローするコードの関連部分は次のとおりです。

        URL url = new URL(resumableFileUploadUrl);
        conn = (HttpURLConnection) url.openConnection();
        conn.addRequestProperty("client_id", OAuth2Client.CLIENT_ID);
        conn.addRequestProperty("client_secret", OAuth2Client.CLIENT_SECRET);
        conn.setRequestProperty("Authorization", "OAuth " + GetAuthToken());

        conn.setRequestProperty("X-Upload-Content-Length", String.valueOf(fileContents.length())); //back to 0
        conn.setRequestProperty("X-Upload-Content-Type", "text/xml");
        conn.setRequestProperty("Content-Type", "text/xml");
        conn.setRequestProperty("Content-Length", String.valueOf(fileContents.length()));
        conn.setRequestProperty("Slug", fileName);

        if(isUpdate)
        {
            conn.setRequestProperty("If-Match", "*");
            conn.setRequestMethod("PUT");
        }
        else
        {
            conn.setRequestMethod("POST");
        }

        conn.setRequestProperty("GData-Version", "3.0");
        conn.setRequestProperty("User-Agent", "GPSLogger for Android");


        conn.setUseCaches(false);
        conn.setDoInput(true);
        conn.setDoOutput(true);

        DataOutputStream wr = new DataOutputStream(
                conn.getOutputStream());
        wr.writeBytes(fileContents);
        wr.flush();
        wr.close();

        int code = conn.getResponseCode();
        newLocation = conn.getHeaderField("location");

上記のコードは、再開可能な URL を取得するためのセッションの作成と、再開可能な URL へのファイル コンテンツのポストの両方に使用されます。

これは、このAndroid アクティビティの一部です。リポジトリのクローンを作成するだけで問題を再現するのはおそらく非常に簡単なので、元のアクティビティへのリンクを含めます。コードは 1 年間変更されていません。

これを引き起こす何かが最近変更されましたか?

コードを変更しておらず、同じコードが現場の他のいくつかのアプリケーションで使用されているため、今のところ Google ドライブの API を使用する必要は避けたいと思います。

4

2 に答える 2

0

現在廃止されている Google API v2 を使用している可能性があります。以下の投稿を読んでください。

https://developers.google.com/google-apps/documents-list/terms
于 2013-06-25T18:04:24.013 に答える
0

最も厄介な「機能」の 1 つは、画像を要求する際の文書化されていないレート制限です。各要求は認証される必要があります。レート制限は約 10/s のようです。

于 2013-06-25T05:47:56.197 に答える