我为 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
乔