I'm trying to read the public twitter status of a user so I can display it in my Windows Phone application.
I'm using Scott Gu's example: http://weblogs.asp.net/scottgu/archive/2010/03/18/building-a-windows-phone-7-twitter-application-using-silverlight.aspx
When my code comes back from the async call, I get a "System.Security.SecurityException" as soon as I try to use the e.Result.
I know my uri is correct because I can plop it in the browser and get good results.
Here is my relavent code:
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");
}
Any ideas anyone?
SOLUTION: I finally figured this one out. I had simply forgotten to uncomment the: capability in the WMAppManifest.xml. Once I did that the security exception went away.
You should check out TweetSharp. It's working quite well for me. http://tweetsharp.codeplex.com
You may want to have a look at the application provided here .This application show you tweets for a specified username and also allows you to export tweets to pdf,excel,word,image etc ..
http://blogs.gcpowertools.co.in/2012/05/activereporting-with-twitter.html
I tried code you posted and no exception was thrown, getting results as expected, all seems to be just fine. So there must be something on your pc, net connection (proxy etc) which is causing this. What is detailed exception, StackTrace? Maybe Simple use of WebClient on Windows Phone 7 throws a NetworkError will help you?
I hit something similar on my own app. This was my solution:
and
This exception usually occurs when cross referencing threads in any way. In this case it is probably related to Webclient always returning on the UI thread. You can probably solve the problem by using HttpWebRequest instead (which is better performance wise anyway). Check this thread on msdn forums for more info
I finally figured this one out. I had simply forgotten to uncomment the:
capability in the WMAppManifest.xml. Once I did that the security exception went away.