2012-04-14 20 views
2

すでにアップロードされているGoogleドキュメントファイルの内容を更新したいとします。私はすべての可能なリンクを使用してみました「feedURL」についてAPIを使用してGoogleドキュメントのドキュメントを更新していますか?

DocumentsService service = new DocumentsService("app-v1"); 
string auth = gLogin2(); 
service.SetAuthenticationToken(auth); 
Stream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(
    "CONTENTS PLEASE CHANGE")); 
DocumentEntry entry = service.Update(new Uri("feedURL"), stream, "text/plain", 
    "nameOfDoc") as DocumentEntry; 

: 私は以下のコードを使用していますでも再開可能な編集メディアの代替、セルフ、編集、編集、メディアを、私は取得の例外を続けます。

また、このようなリクエストでどのように回答を読むことができますか?

このAPIを使い始めました。以前は、プロトコルレベルでGET/POSTリクエストを送信していて、Webレスポンスを受信して​​いました。私はこの場合に応答を取得したり読む方法がわかりません。

UPDATE:

RequestSettings _settings; 
      string DocumentContentType = "text/html"; 
      _settings = new RequestSettings("Stickies", "EMAIL", "PASSWORD"); 
      var request = new DocumentsRequest(_settings); 


      //var entryToUpdate = doc.DocumentEntry; 
      var updatedContent = "new content..."; ; 

      var mediaUri = new Uri(string.Format(DocumentsListQuery.mediaUriTemplate, rid)); 
      Trace.WriteLine(mediaUri); 
      var textStream = new MemoryStream(Encoding.UTF8.GetBytes(updatedContent)); 

      var reqFactory = (GDataRequestFactory)request.Service.RequestFactory; 
      reqFactory.CustomHeaders.Add(string.Format("{0}: {1}", GDataRequestFactory.IfMatch, et)); 
      var oldEtag = et; 
      DocumentEntry entry = request.Service.Update(mediaUri, textStream, DocumentContentType, title) as DocumentEntry; 
      Debug.WriteLine(string.Format("ETag changed while saving {0}: {1} -> {2}", title, oldEtag,et)); 
      Trace.WriteLine("reached"); 

そして、私は取得しています例外は次のとおりです:

今、私が使用しているコードがある { "リモートサーバーがエラーを返しました:(412)前提条件が失敗しました。 。 "} 私は..例外前提条件が失敗した解決DocumentEntry entry = request.Service.Update(mediaUri, textStream, DocumentContentType, title) as DocumentEntry;

+0

例外を追加してください。 –

+0

@AliAfshar私も上記のコードが正しくないと思います。私はこれについてDocument Requestを作成しなければならないと思います。 –

答えて

0

でこの例外を取得しています上記の更新されたコードは、文書を保存するために完璧に動作原因のEtagの不一致 にしました。

関連する問題