小编Pro*_*tus的帖子

在没有第三方库的情况下设置Twitter OAuth

继续获取Twitter公共时间线,json + C#,没有第三方库

我还是C#和oAuth的新手,所以如果我什么都不懂,请耐心等待

我创建了一个名为oAuthClass的C#类,这些是我目前拥有的变量:

    static class oAuthClass
{
    public static void run()
    {
        int oauth_timestamp = GetTimestamp(DateTime.Now);
        string oauth_nonce = PseudoRandomStringUsingGUID();
        string oauth_consumer_key = "consumer key here";
        string oauth_signature_method = "HMAC-SHA1";
        string oauth_version = "1.0";
    }
}
Run Code Online (Sandbox Code Playgroud)

我对OAuth的签名读了,我选择使用HMAC-SHA1现在,我不知道如何生成签名,我也极其混乱阅读和看到的东西,如HTTP,编码和基地级串什么(我根本不知道他们的意思),但我的猜测是创建一个"Http编码"的URL,如空格 - >"%20"?

总结: - 什么是基本字符串?

- 我对这个空间 - >%20例子?

-HMAC-SHA1涉及消息和密钥,是消费者秘密的消息吗?消费者关键是关键吗?

- 如何通过使用HMAC-SHA1算法创建签名

- 如果我设法创建签名,我如何将这些值传递给Twitter?

我可以用

http://example.com?consumer_key=asdf&oauth_signature=signaturevalue&etc., 
Run Code Online (Sandbox Code Playgroud)

但我已经阅读并且显然人们使用HTTP-Headers或其他东西(再次,我真的不知道这是什么)

谢谢!同样,没有第三方图书馆允许:(

c# sha1 oauth hmac twitter-oauth

6
推荐指数
1
解决办法
2385
查看次数

Twitter OAuth 流程 - 对 oob/3-legged auth 和一般流程感到困惑,不需要 PIN?

继续:在没有第 3 方库的情况下设置 Twitter OAuth

感谢 Nylander 先生的帮助,我成功地让我的 oAuth 类正常工作(尽管花了很长时间)!但是,我对 oAuth 流程的几个方面感到困惑。

以下是我制作的程序中发生的情况的细分:

==编辑,我想我会发布部分代码,很难用我的话来解释==

//1st code segment
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.twitter.com/oauth/request_token");
string response = "";
HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(resp.GetResponseStream()))
{
response = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

至此,我已经可以成功得到回复了。

响应 --> oauth_token=asjndiqufh9uf&oauth_token_secret=oinroiqurhwunwer&oauth_callback_confirmed=true

//2nd code segment
Process proc = new Process();
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.FileName = "https://api.twitter.com/oauth/authenticate?" + response;
proc.Start();
Run Code Online (Sandbox Code Playgroud)

这会将用户(我)带到一个页面,我必须在其中选择是否要授权。如果我同意,我将被带到包含 PIN 码的页面。

//3rd code segment
Console.WriteLine("Enter the PIN");
string pin = Console.ReadLine();
baseString = generateBaseString("POST", "https://api.twitter.com/oauth/access_token", oauth_token); …
Run Code Online (Sandbox Code Playgroud)

c# twitter oauth twitter-oauth

3
推荐指数
1
解决办法
2315
查看次数

标签 统计

c# ×2

oauth ×2

twitter-oauth ×2

hmac ×1

sha1 ×1

twitter ×1