0

を使用して、wp8 アプリでツイートをストリーミングしTweetSharpます。各ツイートの内容を検出したい。TwitterStatus.Entities.Media写真の場合は、画像のコレクションを使用して簡単です。ビデオの場合は難しく、ビデオへのリンクはTwitterStatus.Entities.Urls(youtube.comyoutu.beなど) にあり、別のサイトへの単純なリンクがあります。公式の android Twitter アプリは、コンテンツの種類を検出し、アイコンの種類 (リンク、ビデオ、写真) を表示します。JSON からこの情報を取得しようとしましたが、JSON ではビデオリンクもurlsではなく にありmediaます。しかし、Android アプリはコンテンツを検出する方法を知っているので、作成することができます。

完全なソリューションでは、 、、またはのenumフィールドだけが必要ですContentTypeMyTwitterMessagePhotoVideoLinkNothing

4

1 に答える 1

0

私が考えることができるいくつかの方法は

a) 既知のファイル拡張子を使用し、それがどのタイプの拡張子であるかを確認して返すだけです (すべての URL がファイル拡張子を提供すると仮定します)。

b)URLを使用してダウンロードを開始しますが、ヘッダーのみを取得します

 WebClient aClient = new WebClient();
 WebHeaderCollection collection = new WebHeaderCollection();
 collection[HttpRequestHeader.Range] = "bytes=0-0";
 aClient.Headers = collection; 
 aClient.DownloadStringAsync(new Uri("URI GOES HERE"));

次に、DownloadStringCompleted イベントでヘッダーを解析し、コンテンツ タイプを取得します。

 var aClient = (Webclient)sender;
 var responseHeaders = client.ResponseHeaders;
 var TypeOfContent = responseHeaders["Content-Type"];

そこからコンテンツを特定できるはずです。MIME タイプはここにあります。

b) の場合、リダイレクトも処理する必要があるかもしれませんが、それは別の問題です。

于 2013-03-09T21:23:10.953 に答える