我想转换一个推文网址,例如https://twitter.com/LindseyGrahamSC/status/320202348263780352,以便自动嵌入。到目前为止,我提出的最好的是使用短代码类型语法,如[tweet:320202348263780352],然后制作嵌入的推文。但我真的只想粘贴网址并让它工作。我被困在如何实现这一目标。到目前为止我所拥有的:
var ctxTwitterContext = new TwitterContext(auth);
if (e.Location != ServingLocation.PostList && e.Location != ServingLocation.SinglePost)
return;
string regex__1 = @"\[tweet:.*?\]";
MatchCollection matches = Regex.Matches(e.Body, regex__1);
for (int i = 0; i < matches.Count; i++)
{
Int32 length = "[tweet:".Length;
string TweetID = matches[i].Value.Substring(length, matches[i].Value.Length - length - 1);
var embeddedStatus =
(from tweet in ctxTwitterContext.Status
where tweet.Type == StatusType.Oembed &&
tweet.ID == TweetID
select tweet.EmbeddedStatus)
.SingleOrDefault();
string html = embeddedStatus.Html;
e.Body = e.Body.Replace(matches[i].Value, String.Format(html));
答案 0 :(得分:1)
状态ID始终是URL的最后一段。所以,你可以这样做:
string statusUrl = "https://twitter.com/LindseyGrahamSC/status/320202348263780352";
string tweetID = statusUrl.Substring(statusUrl.LastIndexOf('/') + 1);
除非我不理解。如果是这样,您可以删除RegEx代码和for循环。