Google DocsからファイルをダウンロードするためのAndroidアプリケーションを開発中です.Google Docs List APIを使用してファイルを一覧表示することができました。また、Googleドキュメントからスプレッドシートファイルをダウンロードすることもできました。しかし、私たちがgoogle docsからpdfファイルをダウンロードしようとすると、常に401エラーが返されます。これは、ファイルのダウンロードに使用されているコードです。Google Docs List API PDFファイルのダウンロードができません(Android)
CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(C.OAuth.CONSUMER_KEY, C.OAuth.CONSUMER_SECRET);
consumer.setMessageSigner(new HmacSha1MessageSigner());
consumer.setTokenWithSecret(token, secret);
.........
String url1 = consumer.sign(obj.url+"&exportFormat=txt"); // Create complete url
get.setURI(URI.create(url1));
response = client.execute(get);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
Log.v("GDATA MAIN", "not error");
}
else
{
Log.v("GDATA MAIN", "error"+response.getStatusLine().getStatusCode());
}
これは、ファイルをダウンロードするために生成するURLです。
任意の推測は、なぜ私たちはPDFをダウンロードすることはできませんが、スプレッドシートのフォーマットが働いていますか?
コードスニペットでは、スコープを設定する場所はまだ表示されません。 –
PDFをテキストとしてエクスポートすることはできません。 exportFormat = txtを指定しても、PDFコンテンツを取得できます。あなたのエラーについては、あなたのOAuthトークンに "Docs"または "PDF/File download"スコープがありません。これらはスプレッドシートにアクセスするために必要な「スプレッドシート」のスコープとは異なります。 – technomage