사용자가 내 해시 태그에 게시물을 올릴 때 twitpic의 사진을 자동으로 표시하는 .Net WPF 응용 프로그램에서 기능을 구현하려고합니다.C#의 트위터에서 사진을 가져 오시겠습니까?
Twitterizer2 API 라이브러리를 사용하고 있습니다. 내 검색에서 오는 모든 트윗은 t.co 링크로 링크되어 있습니다 (트위터에서 온 것 같습니다). 이 링크를 구문 분석하여 이미지를 사용자에게 보내도록하는 방법을 모르겠습니다.
사용자가 내 해시 태그에 게시물을 올릴 때 twitpic의 사진을 자동으로 표시하는 .Net WPF 응용 프로그램에서 기능을 구현하려고합니다.C#의 트위터에서 사진을 가져 오시겠습니까?
Twitterizer2 API 라이브러리를 사용하고 있습니다. 내 검색에서 오는 모든 트윗은 t.co 링크로 링크되어 있습니다 (트위터에서 온 것 같습니다). 이 링크를 구문 분석하여 이미지를 사용자에게 보내도록하는 방법을 모르겠습니다.
나는 당신이 두 가지 방법으로 문제를 해결할 수 있다고 생각하는 방법을 Twitterizer2의 API 작동하지만 모르는 : 구문 분석 같은 링크를하는 데 도움이 공식 트위터 API 뭔가에
private static Uri GetPicture(string twitterUri)
{
using (var webClient = new WebClient())
{
string html = webClient.DownloadString(twitterUri);
int imgIndex = html.IndexOf("<img class=\"photo\" id=\"photo-display\"");
int srcStartIndex = html.IndexOf("src", imgIndex) + 5;
int srcEndIndex = html.IndexOf("\"", srcStartIndex);
string imgSrc = html.Substring(srcStartIndex, srcEndIndex - srcStartIndex);
return new Uri(imgSrc);
}
}
: 나는 아래의 기능과 같이 제안 두 번째 방법의 경우 (이 분석은 내 다음 사람에서 발견 한 첫 번째 사진을 기반으로는 TwitPic 이미지에서만 작동 그래서 짹짹) 당신이 사용을 상상할 수있는 것처럼
이다 : 당신은 트위터에서 반환하는 미디어 엔티티 데이터에 의존 할 수
Uri imgUri = GetPicture("http://t.co/RQu9hZn8"); // this is a real image
.
당신은 내가 다시 여기에 잠시 게시 샘플 및 explaination 볼 수 있습니다 : 샘플이 포함되어 있지 않습니다 http://www.twitterizer.net/528/finding-urls-hashtags-and-mentions-using-entities/
을하지만, 이미지와 동영상에 대한 정보를 제공하는 새로운 TwitterMediaEntity
클래스가있다.
MediaEntity에서 업데이트 해 주셔서 감사합니다. 이미 Twitterizer의 일부였습니다. – SelAromDotNet
전체 소스 코드 샘플을 사용하는 최종 해결책이 있습니까? – Kiquenet
내가합니다 (Twitterizer nuget package와) 같은 것을 모두가 어떤 트윗 미디어 및 오디오 URL 엔티티 미디어 을 \ 미디어는 포스트하다면 첨부 항목의 배열이됩니다에있을 것입니다 부착
li.Text = tweet.text;
foreach(Twitterizer.Entities.TwitterEntity te in tweet.Entities)
{
if(te.GetType() == (typeof(Twitterizer.Entities.TwitterMediaEntity)))
{
var b = (Twitterizer.Entities.TwitterMediaEntity) te;
li.Text += "<img src=\"" + b.MediaUrl + "\" />";
}
}
을 사용 당신은 당신의 트윗 중 일부는이 없기 때문에
foreach (dynamic t in enumerableTwitts)
{
dynamic media = t["entities"]["media"];
string media_url = media[0]["media_url"].ToString();
}
는 당신이 시도 - 캐치를 사용해야 될 것입니다 수있는 당신이 당신의 트윗 enumerableTwitts 에 저장 한 가정으로 첫 번째 첨부 항목의 경로를 얻으려면 ttach 파일
이 작업은 (twitpic의 경우) 작동하지만 각 이미지에 대해 웹 호출을 수행 할 것이므로 시간과 대역폭을 소트 할 것이라는 점에 유의하십시오. –
웹 콜을하지 않고 어떻게 이미지를 다운로드하겠습니까? 방금 * 인코딩 된 링크에서 추출하는 방법을 제안했습니다. * 그가 보여주는 이미지는 어떻게 처리합니까? –
이미지 데이터를 다운로드하라는 웹 호출을 계산하는 경우 코드는 각 이미지에 대해 2 개의 웹 콜을 수행합니다. 당신이하는 일은 이미지 데이터를 추출하는 것이 아니라 클라이언트가 다운로드 할 url에 대한 또 다른 호출을해야하는 이미지에 대한 URL을 추출하는 것입니다. 그것이 제가 말하고있는 것입니다. 여러분은 1 개의 추가 웹 호출을하고 있습니다. 내가 트위터에서 직접 URL을 얻을 샘플 코드에 대한 링크를 게시했습니다. 데이터는 이미 결과에 포함되어 있습니다. –