使用twitter获取持有者令牌

Ada*_*dam 7 twitter oauth oauth-2.0 twitter-oauth

我正在使用以下代码返回持票人令牌,但我一直在获取

"远程服务器返回错误:(500)内部服务器错误"在线"WebResponse response = request.GetResponse();"

 WebRequest request = WebRequest.Create("https://api.twitter.com/oauth2/token");

    string consumerKey = "31111111111111111111";
    string consumerSecret = "1111111111111111111111A";
    string consumerKeyAndSecret = String.Format("{0}:{1}", consumerKey, consumerSecret);

    request.Method = "POST";   
    request.Headers.Add("Authorization", String.Format("Basic {0}", Convert.ToBase64String(Encoding.Unicode.GetBytes(consumerKeyAndSecret))));

    request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";

    string postData = "grant_type=client_credentials";
    byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    request.ContentLength = byteArray.Length;
    Stream dataStream = request.GetRequestStream();
    dataStream.Write(byteArray, 0, byteArray.Length);
    dataStream.Close();

    WebResponse response = request.GetResponse();
Run Code Online (Sandbox Code Playgroud)

任何建议都会很棒

Kou*_*sha 10

我浪费了很多时间后找到了解决方案.由于使用Unicode的base64编码,此错误将上升.只需将UNICODE更改为UTF8即可.

最终代码:

WebRequest request = WebRequest.Create("https://api.twitter.com/oauth2/token");

string consumerKey = "31111111111111111111";
string consumerSecret = "1111111111111111111111A";
string consumerKeyAndSecret = String.Format("{0}:{1}", consumerKey, consumerSecret);

request.Method = "POST";   
request.Headers.Add("Authorization", String.Format("Basic {0}", Convert.ToBase64String(Encoding.UTF8.GetBytes(consumerKeyAndSecret))));

request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";

string postData = "grant_type=client_credentials";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

WebResponse response = request.GetResponse();
Run Code Online (Sandbox Code Playgroud)


sbh*_*mra 1

过去我使用过使用 Twitter 1.1 API 的 TweetSharp。您可能最好将其用于 Twitter 通话。

TweetSharp Github: https: //github.com/danielcrenna/tweetsharp

如果您需要示例或需要什么,请告诉我。