.NET 无法通过“错误的身份验证数据”Twitter API 1.1

本文关键字:数据 身份验证 Twitter API 错误 NET | 更新日期: 2023-09-27 18:33:22

尝试将Twitter 1.1 API用于简单的阅读/搜索推文应用程序。在我的一生中,我无法对 API 进行身份验证。我通过apps.twitter.com创建了一个Twitter应用程序,通读了文档,并认为我将在Postman REST客户端中对此进行测试。将我所有的令牌都打入OAuth 1.0选项卡,并得到了可怕的{"message": "Bad Authentication data","code":215}

仔细检查了所有内容,但仍然出现相同的错误。阅读更多文档,发现"仅应用程序身份验证"需要通过OAuth 2.0。尝试了相同的Bad Authentication消息。

由于我将在.NET中执行此操作,我想为什么不尝试一个示例应用程序。按照此处的步骤构造 OAuth 请求。结果 - 另一个 401 响应。

浏览了推特网站上推荐的图书馆以获取.NET,并找到了Tweetinvi。他们的文档非常简单。运行库的简单片段:

var credentials = TwitterCredentials.CreateCredentials("Access_Token", "Access_Token_Secret", "Consumer_Key", "Consumer_Secret");
TwitterCredentials.ExecuteOperationWithCredentials(credentials, () =>
{
    Tweet.PublishTweet("myTweet");
});

也无果而终。在这一点上,我已经放弃了。像调用 API 这样微不足道的事情让我无言以对。

文档庞大而强大,但事实证明很难理解。我是否需要对我的实际推特帐户而不是推特应用程序做些什么?

如果它有助于解决我的问题,则我的应用程序设置为Read Only权限。

.NET 无法通过“错误的身份验证数据”Twitter API 1.1

正如我所看到的,您正在尝试使用以下代码发布推文:

var credentials = TwitterCredentials.CreateCredentials("Access_Token", "Access_Token_Secret", "Consumer_Key", "Consumer_Secret");
TwitterCredentials.ExecuteOperationWithCredentials(credentials, () =>
{
    Tweet.PublishTweet("myTweet");
});

但与此同时,您说您的应用程序设置为只读权限。发布推文需要其他权限。