0

Google ドキュメント。C# でパブリック リンクを使用してドキュメントを編集する必要があります。とにかくありますか?

FileStream fs = FileStream("C:\*****.jpg", FileMode.Open); 
DocumentEntry entry2 = service.Update(new Uri(strAlternateUriComesFromServer), fs, "text/plain", null) as DocumentEntry; 

このコードはエラーを出します。公開文書を編集するにはどうすればよいですか。

共有ドキュメント リンクしか取得できず、更新する必要があります。

4

2 に答える 2

1

ドキュメント名またはリソース ID を知っていて、そのドキュメントが共有されていて、適切な読み取り/書き込みアクセス (ACL) を持っている場合は、リソースの更新に問題はありません。

通常、Google Documents API を使用してドキュメントを更新すると、次のようになります。

  1. ドキュメントの DocumentEntry を取得します。DocumentQuery を作成して、特定の検索パラメーターに基づいてターゲット ドキュメントを見つけることができます。こちらのドキュメントを参照してください: Google Documents List API 3.0

  2. DocumentEntry オブジェクトからダウンロード URL を取得し、ドキュメントを PC にダウンロードします。元のコンテンツを変更することに関心がなく、ローカルで作成したコンテンツをアップロードして上書きするだけの場合、ダウンロードはオプションです。

  3. ドキュメントを編集し、Google ドキュメントに更新 (アップロード) します。 更新のためのドキュメント。 具体的には、「再開可能なプロトコルを使用してドキュメントまたはファイルのコンテンツを更新する」というセクションを参照してください。すぐドキュメントに何かをアップロードするときは、ResumableUploader を使用する必要があります。

編集して追加: 以下の方法を使用して、パブリック リンクから DocumentEntry を取得してみてください。

// Public Link contains the resourceID
// example:  https://docs.google.com/file/d/097iZigwrANhGTElvZDdCVmlZNzQ/edit
// resourceID:  097iZigwrANhGTElvZDdCVmlZNzQ
// Get Your Document Entry

string editUri = "http://docs.google.com/feeds/documents/private/full/%3A" + resourceID;
DocumentEntry docEntry = (DocumentEntry)service.Get(editUri); 
于 2013-01-28T09:23:59.337 に答える
0
    string editUri = "https://docs.google.com/feeds/default/private/full/file%3A" + resId;

    DocumentEntry docEntry = (DocumentEntry)dsServ1.Get(editUri);
    docEntry.Title.Text = strNewName;
    docEntry.MediaSource = new MediaFileSource("C:\\new.txt", "text/plain");
    ResumableUploader uploader = new ResumableUploader();

    // Start the update process.
    ClientLoginAuthenticator oa = new ClientLoginAuthenticator("Komote", ServiceNames.Documents, strUsername, strPassword);
    uploader.UpdateAsync(oa, docEntry, new object());

このコードはうまく機能します。助けてくれてありがとう。

于 2013-01-29T08:47:00.707 に答える