2011-01-01 8 views
8

私はWindows Phoneアプリケーションで表示できるように、ユーザーの公開ツイッターのステータスを読み取ろうとしています。私はスコット区の例使用してい.Net(Windows Phoneで)を使用して公開ツイッターフィードを読むには

:私のコードは、非同期呼び出しから戻ってくると http://weblogs.asp.net/scottgu/archive/2010/03/18/building-a-windows-phone-7-twitter-application-using-silverlight.aspx

を、私はすぐに私はe.Resultを使用しようとして、「System.Security.SecurityException」を取得します。

私はブラウザでそれをplopして良い結果を得ることができるので私の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"); 
    } 

任意のアイデア誰:ここ

は私のrelaventのコードですか?

解決策: 私はついにこれを考え出しました。 WMAppManifest.xmlの 機能のコメントを忘れてしまいました。 いったんこれを実行すると、セキュリティ例外がなくなりました。

+0

1時間/ 1日あたりのエンドポイントを使用できる回数のためのスロットルはありませんか?おそらくあなたは限界に達していますか?また、フィドラーを試して、生のリクエストをキャプチャできるかどうかを確認することもできます。 PS、あなたのコードは私のために働いた。 –

+0

まだ限界に達していないはずです。少数の時間以上に電話していない。 –

+0

私も同じエラーです。しかし、私のWIn 7(sl 4)アプリケーションではを見つけることができません... anyhelp ?? 通常のSilverlight 4アプリケーションでも同じコードを試しました...セキュリティ例外を発生させます... –

答えて

4

私はついにこれを考え出しました。私は単にコメントを忘れていた:

 <Capability Name="ID_CAP_NETWORKING"/> 

WMAppManifest.xmlの機能。私がそれをしたら、セキュリティの例外はなくなりました。などあなたがここに提供されたアプリケーションを見てアプリケーションを.Thisがしたいことがあり

3

あなたはTweetSharpをチェックアウトする必要があります。それは私のためにかなりうまくいっています。 http://tweetsharp.codeplex.com

+0

面白そうですが、サードパーティのコードなしでこれを行うことをお勧めします。可能であれば、自分が所有するユーザー(krashlander)の公開状態を読んで、許可を避けたいと思っています。 –

+0

Tweetsharpはgithubとnugetに移動しましたが、最新版はまだWPをサポートしていません。 http://nuget.org/List/Packages/TweetSharpまた、tweetsharp.comは利用できなくなりました。プロジェクトは無駄に見えます。 – invalidusername

+0

はい、かなり死んでいます。私は主な開発者Crena(?)としばらく前に話しました。本当の同情。彼はまだ貢献することができません。 –

0

私は自分のアプリで同様のことをしました。これが私の解決策だった:私はあなたが投稿コードを試してみましたが、例外が期待通りの結果を得て、投げられなかった

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) { 
    ... 
} 
+0

まだエラーが発生します。上記のコメントで判断すると、Windows Phoneの問題かもしれません。 –

0

、すべてがうまくようです。だからあなたのPCには、これを引き起こしているネット接続(プロキシなど)上に何かがなければなりません。詳細な例外は何ですか、StackTrace?多分Simple use of WebClient on Windows Phone 7 throws a NetworkErrorがお手伝いしますか?

0

この例外は、通常、スレッドを相互参照する場合に発生します。この場合は、Webクライアントが常にUIスレッドに戻ることと関連している可能性があります。おそらく、代わりにHttpWebRequestを使用することで問題を解決することができます(とにかくパフォーマンスが向上します)。 詳細については、thisスレッドをmsdnフォーラムで確認してください。

+0

私はチャンスを得るとすぐにこれを試してみます。 –

関連する問題