2012-02-21 57 views
0

我似乎无法获取或存储我创建的发布消息的ID。我正在使用此代码发布消息:来自GetResultData的消息ID

Try 

     Dim fb = New FacebookClient(_accessToken) 

     AddHandler fb.PostCompleted, Function(o, e) 
             If (e.Cancelled) Then 

             ElseIf e.Error IsNot Nothing Then 
              MessageBox.Show(e.Error.Message) 
             Else 
              Dim result As Object = e.GetResultData() 
              _lastMessageId = result.Id 
             End If 
             Return MessageBox.Show("Message Posted successfully") 
            End Function 

     Dim parameters As Object = New ExpandoObject() 
     parameters.message = TextBox1.Text 
     fb.PostTaskAsync("me/feed", parameters) 

     MsgBox("This is the last message id " & _lastMessageId) 

    Catch ex As FacebookApiException 
     MessageBox.Show(ex.Message) 
    End Try 

我只想存储发布的ID,以便稍后将其删除。

这里是我想出了感谢prabir

Dim fb = New FacebookClient(_accessToken) 

    Dim parameters As Object = New ExpandoObject() 
    parameters.message = "Testing" 

    Dim task = fb.PostTaskAsync("me/feed", parameters) 

    task.ContinueWith(Function(t) 

          If t.Exception Is Nothing Then 

           Dim result As Object = t.Result 
           _lastMessageId = result.id 

          Else 

           MsgBox("error occurred") 

          End If 

          Return t.Result 

         End Function) 

回答

0

这里是C#代码,可以帮助你得到它开始运行的代码。

由于您使用XTaskAsync方法使用ContinueWith而不是PostCompleted。

fb.PostTaskAsync("me/feed", parameters) 
    .ContinueWith(t= > { 
    if(!t.IsFaulted) { 
     dynamic result = t.Result; 
    } 
    }); 

XTaskAsync方法返回Task<object>

+0

非常感谢您的快速reply.i有现在的工作不太清楚,如果它的100%,然而,但它确实工作。我似乎可以在这里发布工作代码,但生病继续尝试,因为它可能会帮助别人。感谢 – 2012-02-22 05:18:53