5

私は最近、Google Wave 用の最初のロボットに取り組んでいます。これが行う重要な部分は、インライン返信をメッセージに挿入することです。私は一生、これを行う方法を理解することはできません!

API ドキュメントには、有望に聞こえる関数InsertInlineBlipがありますが、それを呼び出しても何もしないようです!

編集:: これは既知のバグのようです。ただし、インライン blip を挿入する正しい方法は何ですか? 私は次のようなものを想定しています:

inline = blip.GetDocument().InsertInlineBlip(positionInText)
inline.GetDocument().SetText("some text")
4

3 に答える 3

4

ソースコードを見るOpBasedDocument.InsertInlineBlip()と、次のことがわかります。

 412 -  def InsertInlineBlip(self, position): 
 413      """Inserts an inline blip into this blip at a specific position. 
 414   
 415      Args: 
 416        position: Position to insert the blip at. 
 417   
 418      Returns: 
 419        The JSON data of the blip that was created. 
 420      """ 
 421      blip_data = self.__context.builder.DocumentInlineBlipInsert( 
 422          self._blip.waveId, 
 423          self._blip.waveletId, 
 424          self._blip.blipId, 
 425          position) 
 426      # TODO(davidbyttow): Add local blip element. 
 427      return self.__context.AddBlip(blip_data) 

TODOのコメントは、この機能がまだアクティブになっていないことを示唆していると思います。メソッドは呼び出し可能で正しく返されるはずですが、ドキュメント操作がグローバルドキュメントに適用されていないのではないかと思います。

投稿に含めた構文は正しいようです。上記のように、の値をInsertInlineBlip() 返しますAddBlip()。これは、... dun、dun、dun...blipです。

 543 -  def AddBlip(self, blip_data): 
 544      """Adds a transient blip based on the data supplied. 
 545   
 546      Args: 
 547        blip_data: JSON data describing this blip. 
 548   
 549      Returns: 
 550        An OpBasedBlip that may have operations applied to it. 
 551      """ 
 552      blip = OpBasedBlip(blip_data, self) 
 553      self.blips[blip.GetId()] = blip 
 554      return blip 

編集:InsertメソッドのメソッドシグネチャがInsertメソッドInsertInlineBlip(self, position)とは大幅に異なることに注意してくださいInsertElement(self, position, element)InsertInlineBlip()挿入する要素パラメータを取りません。の現在のロジックInsertInlineBlip()は、より似ているようBlip.CreateChild()です。これは、動作する新しい子ブリップを返します。このことから、機能が追加されるとこのAPIが変更されることが疑われます。

于 2009-10-18T01:16:36.987 に答える
2

バグの可能性があります。

于 2009-10-17T15:43:24.923 に答える
1

これは以前はバグだったようですが、今日の更新で修正されていることを願っています: http://code.google.com/p/google-wave-resources/wiki/WaveAPIsChangeLog

于 2009-10-30T10:32:15.107 に答える