如何使用.Net阅读公共Twitter提要(在Windows Phone上)

我正在尝试阅读用户的公共推特状态,以便我可以在我的Windows Phone应用程序中显示它。

我正在使用Scott Gu的例子: http : //weblogs.asp.net/scottgu/archive/2010/03/18/building-a-windows-phone-7-twitter-application-using-silverlight.aspx

当我的代码从异步调用返回时,一旦我尝试使用e.Result,我就会收到“System.Security.SecurityException”。

我知道我的uri是正确的,因为我可以在浏览器中填充它并获得良好的结果。

这是我的相关代码:

public void LoadNewsLine() { WebClient twitter = new WebClient(); twitter.DownloadStringCompleted += new DownloadStringCompletedEventHandler(twitter_DownloadStringCompleted); twitter.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=krashlander")); } void twitter_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { XElement xmlTweets = XElement.Parse(e.Result); //exception thrown here! var message = from tweet in xmlTweets.Descendants("status") select tweet.Element("text").Value; //Set message and tell UI to update. //NewsLine = message.ToString(); //RaisePropertyChanged("NewsLine"); } 

任何人的想法?

解决方案:我终于想出了这一个。 我只是忘了取消注释WMAppManifest.xml中的:function。 一旦我这样做,安全例外就消失了。

我终于想出了这一个。 我只是忘了取消注释:

   

WMAppManifest.xml中的function。 一旦我这样做,安全例外就消失了。

你应该看看TweetSharp。 它对我来说很有效。 http://tweetsharp.codeplex.com

我在自己的应用程序上点击类似的东西。 这是我的解决方案:

 WebClient twitter=new WebClient(); twitter.OpenReadCompleted += new OpenReadCompletedEventHandler(twitter_OpenReadCompleted); twitter.OpenReadAsync(new Uri("http://api.twitter.com...")); 

 void twitter_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) { ... } 

我尝试了你发布的代码并没有抛出任何exception,得到预期的结果,似乎都很好。 因此,您的电脑上必须有一些东西,网络连接(代理等)导致这种情况。 什么是详细的例外,StackTrace? 也许在Windows Phone 7上简单使用WebClient会引发NetworkError会对你有所帮助吗?

当以任何方式交叉引用线程时,通常会发生此exception。 在这种情况下,它可能与Webclient始终在UI线程上返回有关。 您可以通过使用HttpWebRequest来解决问题(无论如何,这是更好的性能)。 在msdn论坛上查看此主题以获取更多信息

您可能需要查看此处提供的应用程序。此应用程序向您显示指定用户名的推文,还允许您将推文导出为pdf,excel,word,image等。

http://blogs.gcpowertools.co.in/2012/05/activereporting-with-twitter.html