Obtenir Porteur du Jeton à l'aide de HttpClient
Je suis en train d'essayer d'obtenir porteur du jeton:
public override async Task<string> Post(string path, HttpContent content) {
var encodedConsumerKey = System.Uri.EscapeDataString("1111111111111");
var encodedConsumerKeySecret = System.Uri.EscapeDataString("2222222222222");
var encodedPair = Base64Encode(String.Format("{0}:{1}", encodedConsumerKey, encodedConsumerKeySecret));
HttpRequestMessage request = new HttpRequestMessage{
Method = HttpMethod.Post,
RequestUri = new Uri("https://api.twitter.com/oauth2/token"),
Content = new StringContent("grant_type=client_credentials")
};
request.Headers.TryAddWithoutValidation("Authorization", String.Format("BASIC {0}", encodedPair));
request.Headers.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded");
var result = await HttpClient.SendAsync(request);
return result.Content.ReadAsStringAsync().Result;
}
private static string Base64Encode(string plainText) {
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
Ce qui me donne l'erreur suivante 403 'Interdit'. Toutes les idées seront les bienvenues.
Vous êtes en invoquant
Sûr que ça va voler. C'est la façon dont Twitter de app-authentification uniquement fonctionne.
Correct, je suis en utilisant app-authentification uniquement. Cependant, il continue de me donner ce fameux erreur 403.
Porteur du Jeton pour
OAuth2
authentification par "de base" porteur d'authentification? Pas sûr que ça va voler.Sûr que ça va voler. C'est la façon dont Twitter de app-authentification uniquement fonctionne.
Correct, je suis en utilisant app-authentification uniquement. Cependant, il continue de me donner ce fameux erreur 403.
Porteur du Jeton pour
OAuth2
?OriginalL'auteur Jose Capistrano | 2015-10-03
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure d'obtenir ce travail. J'ai changé quelques petites choses dans le code ci-dessus. La première est la
ContentType
Deuxième est un très petit détail que j'ai manqué, en abaissant le cas de la
Basic
chaîne dans leAuthorization
en-tête.Voici la méthode complète, juste au cas où quelqu'un aurait besoin d'elle:
Basic
n'est pas fait dans l'exemple de code?cela peut aussi être fait avec des paramètres supplémentaires dans StringContent: nouvelle StringContent(postQuery, l'Encodage.UTF8, "application/x-www-form-urlencoded")
OAuth1 ou OAuth2 version ?
ConsumerKey
etConsumerSecret
est comme client_id et client_secret OAuth2 ?OriginalL'auteur Jose Capistrano