2012-06-13 26 views
0

我嘗試發送悄悄話給誰已經與程序my_app通過認證用戶的追隨者,這裏是代碼:LinqToTwitter產生異常,當我嘗試發送privatemessage

var authent = new MvcAuthorizer 
     { 
      Credentials = new SessionStateCredentials() 
      { 
       ConsumerKey = this.client.ConsumerKey, 
       ConsumerSecret = this.client.ConsumerSecret, 
       OAuthToken = identity.Token.Token 
      } 
     }; 

     var twitterCtx = new TwitterContext(authent); 
     list_friend.ToList().ForEach(x => twitterCtx.NewDirectMessage(x.InvitedFriendID, messageWithPlaceHolders.Replace("[FRIEND_NAME]", x.Name))); 

list_friend是的追隨者清單經過身份驗證的用戶。

Pleaaaase我需要你的幫助。

+0

哪一種上線的異常?你能發佈異常消息和堆棧跟蹤嗎? – nemesv

+0

這裏是一個例外:Le serveur遙遠的一個retournéune erreur:(401)非autorisé。 – ucef

+0

也是這樣:「查詢Twitter時出錯。」異常是由最後一條指令產生的:「list_friend.TOList().......」 – ucef

回答

0

解決方案是使用InMemoryCrendentials而不是SessionStateCredentials並將令牌密碼添加到crendential中,並且在添加DateTime.Now到消息之後,因爲twitter不允許重複消息,這裏是解決方案的代碼做工精良:

var authent = new MvcAuthorizer 
     { 
      Credentials = new InMemoryCredentials() 
      { 
       ConsumerKey = this.client.ConsumerKey, 
       ConsumerSecret = this.client.ConsumerSecret, 
       OAuthToken = identity.Token.Token, 
       AccessToken = identity.Token.Secret 
      } 
     }; 
    var twitterCtx = new TwitterContext(authent);    
    list_friend.ToList().ForEach(x => twitterCtx.NewDirectMessage(x.SocialId, messageWithPlaceHolders.Replace("[FRIEND_NAME]", x.Name) +DateTime.Now.ToString())); 

感謝

相關問題