2017-07-03 187 views
-1

所以我試圖在C#中使用VB.NET 2012中的TweetSharp發佈帶圖片的推文。如何將SendTweetWithMedia與TweetSharp一起使用?

我發現瞭如何做到這一點的代碼示例:

service.SendTweetWithMedia(new SendTweetWithMediaOptions 
{ 
    Status = "message", 
    Images = dictionary 
} 
); 

但是我不知道如何創建「字典」與畫面流。

我嘗試這樣做:

Dictionary<string, Stream> imageDict = new Dictionary<string, Stream>(); 

那麼以後引用:

Images = imageDict 

但它給人的錯誤:

Error Screenshot

人有怎樣,這是任何想法應該工作?

另一個代碼塊,我發現並試圖爲:

using (var stream = new FileStream("Image.jpg", FileMode.Open)) 
    { 
     var result = tservice.SendTweetWithMedia(new SendTweetWithMediaOptions 
     { 
      Status = "Message", 
      Images = new Dictionary<string, Stream> { { "john", stream } } 
     }); 
     lblResult.Text = result.Text.ToString(); 
    } 

但它提供了有關「的FileStream」同樣的錯誤。

回答

0

您需要添加對System.IO命名空間的引用,這就是爲什麼您在發佈的映像中收到此錯誤的原因。

下面是一個例子:分享Tweet創造哪怕是within the file size limit期間

var thumb = "http://somesite.net/imageurl"; 
var service = new TwitterService(key, secret); 
service.AuthenticateWith(token, tokenSecret); 
var req = WebRequest.Create(thumb); 
using (var stream = req.GetResponse().GetResponseStream()) 
{ 
    response = service.SendTweetWithMedia(new SendTweetWithMediaOptions 
    { 
    Status = tweet.Trim(), 
    Images = new Dictionary<string, Stream> { { fullname, stream } } 
    }); 
} 

一個GIF可能會失敗。堅持以下約束來提高成功率。

  1. 分辨率應< = 1280x1080(寬x高)
  2. 幀數< = 350
  3. 像素(寬×高×num_frames)數量< = 3億
  4. 作品尺寸< = 15兆字節
+0

我完全錯過了!非常感謝。現在我得到另一個錯誤。它現在完美髮布圖像,但如果圖像很大,「結果」會以Null(發生錯誤)的形式出現,則會引發NullRefrenceException。我怎麼能錯誤檢查這個?我嘗試了一個Try/Catch塊,但它沒有奏效。 –

相關問題