1

Google ドライブで新しいスプレッドシートを作成し、後で内容を読み返したい Android アプリがあります (ユーザーは Google ドライブ Web クライアントを使用してデータを追加します)。

私が理解しているように、Spreadsheets API を使用してスプレッドシートを作成することはできないため、Drive API を使用する必要があります。それらのいずれかを機能させるには、欠落しているクラスと、さまざまなjarファイル(一部はしばらくの間アルファ状態になっているようです)をlibディレクトリにコピーするという戦いがありました。Eclipseでボタンをクリックするだけでよいと言っている場所を見てきましたが、IntelliJを使用していますが、ボタンをクリックするのは良い方法ではないようです。

私がやろうとしていることについては、多くの機能を必要とせず、大量の jar ファイルを処理することをあきらめました。これを Android HTTP クライアントといくつかのリクエストで動作させるにはどうすればよいですか?

AccountManager を使用してアカウントとトークンを取得できますが、API URL には API キーが必要ですが、ユーザー トークンは必要ないため、ドライブ内のファイルを一覧表示するような単純なことはできません。

1.スプレッドシートを作成し、2.プレーンな古いhttpリクエストでその内容を読み戻すというタスクをどのように達成できますか?

4

1 に答える 1

1

単純な HTTP GET および POST リクエストで目標を達成できます。

これは、Android で HTTP POST リクエストを作成する方法の簡単なチュートリアルです。おそらく、もっと検索するだけで、より良い例を簡単に見つけることができます。

空のスプレッドシート ファイルを作成する方法の例を次に示します。

POST https://www.googleapis.com/drive/v2/files?key={YOUR_API_KEY}

Request Body:     
{
 "mimeType": "application/vnd.google-apps.spreadsheet",
 "title": "My new spreadsheet",
 "parents": [
  {
   "id": "{ROOT_FOLDER_ID}"
  }
 ]
}

参考までに、 Files.insert()からさらにオプションを探したいと思います

また、スプレッドシートの内容を取得するには、Files.list()を使用します。Files.list() の使用例を次に示します。

# Get list of files that are Google Drive spreadsheets
GET https://www.googleapis.com/drive/v2/files?q=mimeType%3D+%22application%2Fvnd.google-apps.spreadsheet%22&key={YOUR_API_KEY}

このコマンドを使用すると、ファイル リソースのリストが取得されます。ファイル リソースの長いコンテンツの中で、exportLinks 属性が必要です。

"exportLinks": {
  "application/pdf": "https://docs.google.com/feeds/download/spreadsheets/Export?key={FILE_KEY}&exportFormat=pdf",
  "application/x-vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/feeds/download/spreadsheets/Export?key={FILE_KEY}&exportFormat=ods",
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "https://docs.google.com/feeds/download/spreadsheets/Export?key={FILE_KEY}&exportFormat=xlsx"
 },

このリンクを使用すると、HTTP GET 要求を作成し、このファイルの内容を本体から取得するだけで済みます。

Google Drive API全般に目を通すことをお勧めします。

また、Drive Spreadsheet を使った複雑な作業が必要な場合は、Google Apps Scriptをご覧になることをお勧めします。

楽しむ!

于 2013-06-03T17:51:24.437 に答える