无法通过OAuth进行身份验证

时间:2010-11-16 06:22:35

标签: c#-3.0 twitter-oauth

我正在使用Tweetsharp,我正在尝试使用Twitter应用程序。目前它是一个简单的控制台应用程序。

我在网上搜索并发现了一些文章,其中大部分都说明在2010年8月16日之后,Twitter的基本身份验证不再适用。相反,OAuth已经到位。

从此以后,我去了Twitter Apps并为我创建了一个。(因为它是一个桌面应用程序,所以我选择Application Type为Client而不是浏览器。)

这些是我得到的各种信息

Consumer key :  NxDgjunKLu65CW38Ea1RT 

Consumer secret :JOomsRGPTHct9hFjGQOTpxScZwI5K8zkIpOC1ytfo 

Request token URL : https://twitter.com/oauth/request_token

Access token URL :  https://twitter.com/oauth/access_token

Authorize URL:  https://twitter.com/oauth/authorize

作为计划的一个非常基本的步骤,我会写一些推文到我的墙上。

从此以后,我做了以下(一些代码来自web,因为我使用这些代码作为参考)

string consumerKey = "NxDgjunKLu65CW38Ea1RT";
string consumerSecret = "JOomsRGPTHct9hFjGQOTpxScZwI5K8zkIpOC1ytfo";

FluentTwitter.SetClientInfo(new TwitterClientInfo { ConsumerKey = consumerKey, ConsumerSecret = consumerSecret });

//Gets the token
var RequestToken = FluentTwitter.CreateRequest().Authentication.GetRequestToken().Request().AsToken();

var twitter = FluentTwitter.CreateRequest()
                        .AuthenticateWith(
                        consumerKey
                        ,consumerSecret,
                        RequestToken.Token,
                        RequestToken.TokenSecret)
                        .Statuses().Update("I am writing my first tweets").AsXml();
var response = twitter.Request();
var status = response.AsStatus();

但回应是

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <error>Could not authenticate with OAuth.</error>
  <request>/1/statuses/update.xml</request>
</hash>

我很长时间都在努力理解这个问题,但一切都是徒劳的。

我需要帮助。

由于

1 个答案:

答案 0 :(得分:2)

获取请求令牌只是OAuth流程的第一步。您需要获取请求令牌,授权令牌,然后交换是否为访问令牌。然后使用访问令牌发送推文。

有关完整OAuth流程的流程图,请参阅此link