Windows phone 7 windows phone中的Twitter帖子
我正在开发一个应用程序,用户可以登录到他们的twitter帐户并发布他们的状态。 一切都很顺利,但当我点击tweet按钮发帖时,状态没有更新 我的代码有什么问题Windows phone 7 windows phone中的Twitter帖子,windows-phone-7,twitter,Windows Phone 7,Twitter,我正在开发一个应用程序,用户可以登录到他们的twitter帐户并发布他们的状态。 一切都很顺利,但当我点击tweet按钮发帖时,状态没有更新 我的代码有什么问题 private void btnPostTweet_Click(object sender, RoutedEventArgs e) { if (txtBoxNewTweet.Text.Trim().Length == 0) { return; } var credentials = new OAuthCredentia
private void btnPostTweet_Click(object sender, RoutedEventArgs e)
{
if (txtBoxNewTweet.Text.Trim().Length == 0) { return; }
var credentials = new OAuthCredentials
{
Type = OAuthType.ProtectedResource,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
ConsumerKey = TwitterSettings.consumerKey,
ConsumerSecret = TwitterSettings.consumerKeySecret,
Token = this.accessToken,
TokenSecret = this.accessTokenSecret,
Version = "1.0"
};
var restClient = new RestClient
{
Authority = TwitterSettings.StatusUpdateUrl,
HasElevatedPermissions = true,
Credentials = credentials,
Method = WebMethod.Post
};
restClient.AddHeader("Content-Type", "application/x-www-form-urlencoded");
// Create a Rest Request and fire it
var restRequest = new RestRequest
{
Path = "1/statuses/update.xml?status=" + txtBoxNewTweet.Text
};
var ByteData = Encoding.UTF8.GetBytes(txtBoxNewTweet.Text);
restRequest.AddPostContent(ByteData);
restClient.BeginRequest(restRequest, new RestCallback(PostTweetRequestCallback));
}
请尝试此代码,而不是代码的最后一行
restRequest = new RestRequest
{
Path = "1/statuses/update.xml"
};
restRequest.AddParameter("status", tbxNewTweet.Text);
//var ByteData = Encoding.UTF8.GetBytes(txtBoxNewTweet.Text);
//restRequest.AddPostContent(ByteData);
restClient.BeginRequest(restRequest, new RestCallback(PostTweetRequestCallback));
我无法回答您的问题,但如果您使用API twitter API 1.0,请立即转到API 1.1。他们将在下个月停用api 1.0:。
注意,它们正在关闭除JSON之外的所有代码,因此您的代码可能随时停止工作。您好,您找到答案了吗?如果没有,请尝试以下方法:
var credentials = new OAuthCredentials
{
Type = OAuthType.ProtectedResource,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
ConsumerKey = TwitterSettings.consumerKey,
ConsumerSecret = TwitterSettings.consumerKeySecret,
Token = this.accessToken,
TokenSecret = this.accessTokenSecret,
Version = "1.0"
};
此处删除Version=“1.0”
所以它看起来是这样的:
var credentials = new OAuthCredentials
{
Type = OAuthType.ProtectedResource,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
ConsumerKey = TwitterSettings.consumerKey,
ConsumerSecret = TwitterSettings.consumerKeySecret,
Token = this.accessToken,
TokenSecret = this.accessTokenSecret,
};
然后更改路径:
var restRequest = new RestRequest
{
Path = "1.1/statuses/update.xml?status=" + txtBoxNewTweet.Text
};
最后,你必须检查一件事。您的应用程序设置在
将访问级别更改为读、写和直接消息(修改应用程序权限)
如果您无法更改权限,请尝试使用手机。从手机转到此url,并使用用户名和密码登录。现在,您可以从手机更改设置。现在你可以发布你的twit了