1

在 Twitter 弃用他们的 Twitter API 1.0 之后,我尝试了几种方法以使 1.1 API 能够在我的 Windows 8 应用程序中运行。但是,您在下面看到的基本上是我最终得到的结果:

    public List<UserTweet.User> jsonFromTwitter;
    private async void fetchTweet()
    {
        var jsonTwitter = new Uri("http://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=stackoverflow&result_type=recent");

        HttpClient client = new HttpClient();

        var request = new HttpRequestMessage(HttpMethod.Get, jsonTwitter);

        var oAuthHeader = "OAuth oauth_consumer_key=\"XXXXX\", oauth_nonce=\"XXXXX\", oauth_signature=\"XXXXX\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1318622958\", oauth_token=\"XXXXX-XXXXXX\", oauth_version=\"1.0\"";

        request.Headers.Add("Authorization", oAuthHeader);

        var response = await client.SendAsync(request);


        var responseString = await response.Content.ReadAsStringAsync();

        jsonFromTwitter = JsonConvert.DeserializeObject<List<UserTweet.User>>(await client.GetStringAsync(responseString));

        //listbox.ItemsSource = jsonFromTwitter;
    }

但是,这不会有多大好处,它主要在几个错误之间切换。其中一个可以在下面看到,另一个是“无法验证用户”或类似的,据我所知,标题基本上有问题。

出界或

有人对如何为此构建有效的 OAuth 标头有任何想法吗?我现在一无所知。

4

1 回答 1

1

对于分配给 Authorization 标头的值,您还需要做很多事情 - 纯文本将不起作用。Twitter OAuth 文档中的以下页面可能会帮助您朝着正确的方向开始。

  1. Twitter 的文档有一个关于身份验证的部分
  2. 授权请求
  3. 创建签名
于 2013-03-02T19:22:54.400 回答