0

Google Spreadsheet APIを使用して、あるアカウントから別のアカウントにドキュメントをコピーしてから、新しく作成したスプレッドシートのキーを返したいと思います。

コピーは、テンプレートスプレッドシートを取得し、新しいスプレッドシートを作成してから、新しいスプレッドシートのをテンプレートスプレッドシートに設定することによって行われSpreadsheetEntry newDoc = new SpreadsheetEntry();ます。次に、新しいスプレッドシートを挿入しますidnewDoc.setId(template.getId());

newDoc = service.insert(new URL("https://docs.google.com/feeds/default/private/full"), newDoc);

発信者に2つのことを返したいと思います。新しく作成されたスプレッドシートとそのキーへのリンクです。私は最初を通り抜けてnewDoc.getSpreadsheetLink().getHref();、それは戻りますhttps://docs.google.com/a/bridgeworks.nl/spreadsheet/ccc?key=0Asl_Vu_YG4J-dDc5NHpwTFVRZFNiVENnRUxOb21XLVE

それから私は電話newDoc.getKey();し、それは戻りますspreadsheet%3A0Asl_Vu_YG4J-dDc5NHpwTFVRZFNiVENnRUxOb21XLVE

キーの前に。が付いているようspreadsheet%3Aです。しかし、なぜ?安全に取り外して鍵だけを返却できますか?

使用する場合

URL worksheetUrl = urlFactory.getWorksheetFeedUrl("0Asl_Vu_YG4J-dDc5NHpwTFVRZFNiVENnRUxOb21XLVE", "private", "full");

成功しますが

URL worksheetUrl = urlFactory.getWorksheetFeedUrl("spreadsheet%3A0Asl_Vu_YG4J-dDc5NHpwTFVRZFNiVENnRUxOb21XLVE", "private", "full");

失敗する

4

1 に答える 1

1

Documents List APIは、リソースIDと型指定されていないリソースIDの2種類のIDを定義します。前者の形式は[type]:[id]ですが、後者の形式は[id]:です。

https://developers.google.com/google-apps/documents-list/#terminology_used_in_this_guide

型付きリソースIDから[type]部分を安全に削除して、型なしリソースIDを取得できます。

于 2012-08-22T16:41:26.583 に答える