Twitter API 的问题可能是 Tweetinvi(禁止)

Posted

技术标签:

【中文标题】Twitter API 的问题可能是 Tweetinvi(禁止)【英文标题】:Issue with Twitter API possibly Tweetinvi (Forbidden) 【发布时间】:2021-12-28 23:57:44 【问题描述】:

我已经尝试了几天,并认为问题出在我的开发者帐户的某个地方,但我想我会先在这里寻求建议,然后再深入研究。 我已经按照文档和多个教程进行操作,这似乎可以工作,但无论我使用 Tweetinvi 向 Twitter 拨打什么电话,我都会得到“禁止”,这在查看 twitter 代码时意味着我的授权是正确的,但我要求的东西是我无权访问,但我只是想发送一条测试推文以查看程序是否有效,根据 Twitter 的文档,我应该可以完全访问。这是我从 Tweetinvi 的教程中获取的关于如何制作“Hello World”推文的代码,但它不起作用,因为它返回“Forbidden”。

static async Task Main(string[] args)
    
        var userClient = new TwitterClient("APIKey", "sAPIKey", "AccessToken", "sAccessToken");
        var tweet = await userClient.Tweets.PublishTweetAsync("This is a test tweet");
        Console.WriteLine(tweet);                
    

这也不只是发送推文功能,如果我试图提取任何信息,它表示这是被禁止的,所以我觉得问题出在 Twitter 方面而不是我的代码,但我只是想把它作为一种爱好来学习并拥有不知道。刚刚被告知 Tweetinvi 会让一切都花 5 分钟,现在我已经花了三天时间来解决这个问题。任何解决这个问题的帮助都会很好,非常感谢。

【问题讨论】:

我没有使用此 api 的经验,但是感觉您的身份验证信息不正确,或者 Twitter 端设置不正确,选项/设置/或您需要做的任何事情跨度> 我也有这样的感觉,我可以验证身份验证信息是否正确,并且我已经按照 Tweetinvi 所说的方式设置了项目,但什么都没有。身份验证错误是“未经授权”而不是“禁止”。我也已授予该应用程序在 twitter 开发者网站上发送推文的权限,所以我在这里不知所措。谢谢你的建议。 根据文档,“禁止”是可以理解的响应,但没有正确的权限。响应中还应该有一条消息说明它返回 fobidden 的原因。您应该能够在 HTTP 响应标头中检查访问令牌的权限:“所有经过身份验证的 API 请求都在 HTTP 响应中返回 x-access-level 标头。标头的值显示任一正在使用的 Access Token 或 Bearer Token。可能的值是 read、read-write 和 read-write-directmessages。" 我能够通过访问 API 本身的论坛来解决这个问题,尽管基本级别的权限是必不可少的,并且能够“代表用户创建和删除推文。 "它没有能力发布上述推文。上一步,Elevated 状态确实如此。一旦被提升,该程序现在就可以工作了。长话短说,API 文档认为“代表用户创建和删除推文”让我感到困惑。 “创建”部分包括发布,但如果其他人有我遇到的错误。这就是解决方法。 @user17443495 最好发布一个详细程度值得的答案 【参考方案1】:

Twitter 的最新 API 版本 [2021 年 11 月 15 日] 有一个称为“基本”的访问级别,提供对 v2 API 的访问,因为这应该是大多数新应用程序的基础。如果您需要在同一应用程序中访问 v2 旧版 v1.1 API,您将需要“提升”访问权限,这也是免费提供的。您在此问题的代码中调用的 PublishTweetAsync 方法正在尝试访问 v1.1 Tweet statuses/update 端点,因此您的应用需要提升访问权限才能使其正常工作。

【讨论】:

您好,您知道将使用 V2 API 的 Publish 方法吗? 我认为 Tweetinvi 尚未添加对新的 v2 创建 Tweet 方法的支持。您需要咨询项目维护人员。您可以免费申请 Elevated 访问权限,并继续使用 v1.1 API 发布推文(如果您不需要投票等新功能)

以上是关于Twitter API 的问题可能是 Tweetinvi(禁止)的主要内容,如果未能解决你的问题,请参考以下文章

有没有可能使用rest api在twitter中获取到给定日期的登录详细信息?

保护使用通过 twitter 登录的应用程序的 API

我可以从 api 访问 Twitter 通知过滤器吗?

使用 Twitter API 时 Heroku 出错

用户名包含Twitter API使用Java中的特定单词

Twitter api 1.1 图片未显示在提要中