【发布时间】: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 最好发布一个详细程度值得的答案