developer - twitter token
Usando twitter para obtener token portador (2)
En el pasado he usado TweetSharp que usa la API 1.1 de Twitter. Probablemente sería mejor usar eso para sus llamadas a Twitter.
TweetSharp Github: https://github.com/danielcrenna/tweetsharp
Si necesita un ejemplo o lo que necesita, hágamelo saber.
Estoy usando el siguiente código para devolver el token de portador, pero sigo recibiendo
"El servidor remoto devolvió un error: (500) error interno del servidor" en línea "respuesta WebResponse = 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();
Cualquier consejo sería increíble
Encontré la solución después de perder muchas horas. Este error aumentará debido a la codificación base64 que usa Unicode. Simplemente cambie el UNICODE a UTF8, y nada más.
Código final:
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();