【问题标题】:Twitter Rest API thrown exceptionTwitter Rest API 抛出异常
【发布时间】:2018-06-19 13:46:26
【问题描述】:

我已经使用 Twitter 帐户创建了示例 OAUTH 项目。当我通过rest API“https://api.twitter.com/1.1/statuses/home_timeline.json”获取数据时,它抛出的异常如“错误:您的凭据不允许访问此资源;错误代码:220”

注意: 我已经使用基于 PIN 的访问令牌方法获取访问令牌。 我已将应用权限设置为读写权限。

【问题讨论】:

    标签: twitter-oauth


    【解决方案1】:

    在不知道其他哪些 API 请求有效或您正在使用哪种类型的身份验证的情况下,只能猜测您的特定问题是什么。我的第一个问题是您是作为用户还是作为应用程序进行身份验证?换句话说,您使用的是 OAuth 1 还是 OAuth 2? statuses/home_timeline 请求需要前者。

    【讨论】:

    • 您好 Jonas,我正在使用基于用户的身份验证类型的 OAuth1。我得到了访问令牌响应,例如“oauth_token=9480810086*****-Pk9yA**********6ixGFkFxSdBbJ&oauth_token_secret=Sfwk32pyCd9yeLzGD**********SxgsuvSeaUkqedE&user_id=9480810086******&screen_name =Sssc&x_auth_expires=0",当我尝试从任何 REST API 获取数据时,意味着它有时会显示错误“令牌无效或过期”。
    • HttpClient httpClient = new HttpClient(); var requestUserTimeline = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, contactsApiUrl); requestUserTimeline.Headers.Add("授权", "承载" + parameter.AccessToken); HttpResponseMessage responseUserTimeLine = 等待 httpClient.SendAsync(requestUserTimeline); httpClient.CancelPendingRequests(); json = 等待 responseUserTimeLine.Content.ReadAsStringAsync();这是我用来从 REST API 获取数据的代码。
    • 您将“授权”标头设置为“承载”+访问令牌。这是 OAuth 2。您必须使用 OAuth 1 以用户身份进行身份验证才能请求该用户的主时间线。为此,有 C# OAuth 库。这是一个不使用库的示例,因此您可以查看所涉及的内容 - gist.github.com/geduldig/6553364
    猜你喜欢
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 2013-05-24
    • 2014-03-06
    • 2020-03-23
    相关资源
    最近更新 更多