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(禁止)的主要内容,如果未能解决你的问题,请参考以下文章