OAuth Headers Twitter 1.1 C#获取推文

OAuth Headers Twitter 1.1 C#获取推文,c#,json,twitter,windows-8,windows-runtime,C#,Json,Twitter,Windows 8,Windows Runtime,在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/st

在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;
    }
公共列表jsonFromTwitter;
私有异步void fetchTweet()
{
var jsonTwitter=新Uri(“http://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=stackoverflow&result_type=recent");
HttpClient=新的HttpClient();
var request=newhttprequestmessage(HttpMethod.Get,jsonTwitter);
var oAuthHeader=“OAuth OAuth\u consumer\u key=”XXXXX\”,OAuth\u nonce=”XXXXX\”,OAuth\u签名=”XXXXX\”,OAuth\u签名方法=”HMAC-SHA1\”,OAuth\u时间戳=”1318622958\”,OAuth\u令牌=”XXXXX-XXXXXX\”,OAuth\u版本=”1.0\”;
添加(“授权”,oAuthHeader);
var response=wait client.sendaync(请求);
var responseString=await response.Content.ReadAsStringAsync();
jsonFromTwitter=JsonConvert.DeserializeObject(wait client.GetStringAsync(responseString));
//listbox.ItemsSource=jsonFromTwitter;
}
然而,这并没有多大好处,它主要在几个错误之间切换。其中一个可以在下面看到,另一个是“无法对用户进行身份验证”或类似的内容,就我所知,基本上头部有问题


有人知道如何为此构建一个工作的OAuth头吗?目前我还不清楚。

对于分配给授权标题的值,您还需要做很多工作-纯文本无法工作。Twitter OAuth文档中的以下页面可能会帮助您朝着正确的方向开始


  • 对于分配给授权标头的值,您还需要做很多工作—纯文本将无法工作。Twitter OAuth文档中的以下页面可能会帮助您朝着正确的方向开始


  • 你不知道有哪一个库或类似的库支持Windows8和OAuth的Twitter?@AndrewB事实上,我写了一个。它名为LinqtoTwitter,完全支持Windows8(和其他配置文件):哦!这对Twitter的新OAuth真的有用吗?我想我知道星期天会带来什么:)是的,它很好用。示例页面()上有演示。您可以使用WinRtAuthorizer for OAuth,如演示所示。好吧,酷!我正在测试几个不同的库,但是没有一个库能够从user_timeline.json?screen_name[某个屏幕名称]获取信息,只有一个身份验证错误。有什么想法吗?你不会知道有任何支持Windows8和OAuth到Twitter的库或类似库吗?@AndrewB事实上,我写了一个。它名为LinqtoTwitter,完全支持Windows8(和其他配置文件):哦!这对Twitter的新OAuth真的有用吗?我想我知道星期天会带来什么:)是的,它很好用。示例页面()上有演示。您可以使用WinRtAuthorizer for OAuth,如演示所示。好吧,酷!我正在测试几个不同的库,但是没有一个库能够从user_timeline.json?screen_name[某个屏幕名称]获取信息,只有一个身份验证错误。有什么想法吗?