Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用twitter获取承载令牌_Twitter_Oauth_Oauth 2.0_Twitter Oauth - Fatal编程技术网

使用twitter获取承载令牌

使用twitter获取承载令牌,twitter,oauth,oauth-2.0,twitter-oauth,Twitter,Oauth,Oauth 2.0,Twitter Oauth,我使用下面的代码返回承载令牌,但我一直得到 “远程服务器在第行返回错误:(500)内部服务器错误” “WebResponse=request.GetResponse();” 任何建议都将是惊人的在过去,我使用了使用Twitter 1.1 API的TweetSharp。你最好在推特上使用它 TweetHub: 如果您需要一个示例或您需要的内容,请告诉我。我在浪费了很多时间后找到了解决方案。 由于使用Unicode进行base64编码,因此会出现此错误。只需将UNICODE更改为UTF8,而无需其他

我使用下面的代码返回承载令牌,但我一直得到

“远程服务器在第行返回错误:(500)内部服务器错误” “WebResponse=request.GetResponse();”


任何建议都将是惊人的

在过去,我使用了使用Twitter 1.1 API的TweetSharp。你最好在推特上使用它

TweetHub:


如果您需要一个示例或您需要的内容,请告诉我。

我在浪费了很多时间后找到了解决方案。 由于使用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();

这帮助我解决了问题,尽管我没有使用C#/.Net。
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();