LINQ to Twitterサンプルの画像をTwitterに直接アップロードするコードを更新しました。便宜上、ここで繰り返します。
private void PostButton_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(TweetTextBox.Text))
MessageBox.Show("Please enter text to tweet.");
ITwitterAuthorizer auth = SharedState.Authorizer;
if (auth == null || !auth.IsAuthorized)
{
NavigationService.Navigate(new Uri("/OAuth.xaml", UriKind.Relative));
}
else
{
var twitterCtx = new TwitterContext(auth);
var media = GetMedia();
twitterCtx.TweetWithMedia(
TweetTextBox.Text, false, StatusExtensions.NoCoordinate, StatusExtensions.NoCoordinate, null, false,
media,
updateResp => Dispatcher.BeginInvoke(() =>
{
HandleResponse(updateResp);
}));
}
}
このページには、ロードしてテストできるサンプルがあります。
http://linqtotwitter.codeplex.com/wikipage?title=LINQ%20to%20Twitter%20Samples
問題の一部は、前のページに同期サンプルを投稿したことである可能性があります。これは、クライアントアプリとWebアプリで機能しますが、WP7には適していません。
Windows PhoneでOAuthを実行する際の重要なヒントは、エミュレーターの時計を現在の時刻に設定する必要があるということです。タイムゾーンにも注意してください。OAuthは、Twitterサーバーと同期している必要があるタイムスタンプを使用します。
最近、Twitterの最近の変更に関連するいくつかの問題も修正したので、他のクエリで問題が発生した場合は、ダウンロード可能なソースがここにあり、最新の変更を入手できます。
http://linqtotwitter.codeplex.com/SourceControl/list/changesets
ジョー