Boîte de oauth2: Invalid grant_type paramètre ou d'un paramètre manquant
Je ne sais pas ce que je fais mal, mais à chaque fois j'ai essayé d'obtenir le jeton (après authentification de l'utilisateur, bien sûr), le résultat est toujours Invalide grant_type paramètre ou d'un paramètre manquant
Possiblement liés à la Boîte API renvoie toujours invalide grant_type paramètre sur l'obtention d'un jeton d'accès
Voici mon fiddler résultat:
POST https://api.box.com/oauth2/token HTTP/1.1
Host: api.box.com
Content-Length: 157
Expect: 100-continue
Connection: Keep-Alive
grant_type=authorization_code&code=nnqtYcoik7cjtHQYyn3Af8uk4LG3rYYh&client_id=[myclientId]&client_secret=[mysecret]
Résultat:
HTTP/1.1 400 Bad Request
Server: nginx
Date: Thu, 07 Mar 2013 11:18:36 GMT
Content-Type: application/json
Connection: keep-alive
Set-Cookie: box_visitor_id=5138778bf12a01.27393131; expires=Fri, 07-Mar-2014 11:18:35 GMT; path=/; domain=.box.com
Set-Cookie: country_code=US; expires=Mon, 06-May-2013 11:18:36 GMT; path=/
Cache-Control: no-store
Content-Length: 99
{"error":"invalid_request","error_description":"Invalid grant_type parameter or parameter missing"}
Même à la suite de la boucle exemple donne la même erreur. Toute aide serait appréciée.
Edit: je l'ai essayé avec d'autres redirect_uri params mais toujours la même erreur
POST https://api.box.com/oauth2/token HTTP/1.1
Content-Type: application/json; charset=UTF-8
Host: api.box.com
Content-Length: 187
Expect: 100-continue
Connection: Keep-Alive
grant_type=authorization_code&code=R3JxS7UPm8Gjc0y7YLj9qxifdzBYzLOZ&client_id=*****&client_secret=*****&redirect_uri=http://localhost
Résultat:
HTTP/1.1 400 Bad Request
Server: nginx
Date: Sat, 09 Mar 2013 00:46:38 GMT
Content-Type: application/json
Connection: keep-alive
Set-Cookie: box_visitor_id=513a866ec5cfe0.48604831; expires=Sun, 09-Mar-2014 00:46:38 GMT; path=/; domain=.box.com
Set-Cookie: country_code=US; expires=Wed, 08-May-2013 00:46:38 GMT; path=/
Cache-Control: no-store
Content-Length: 99
{"error":"invalid_request","error_description":"Invalid grant_type parameter or parameter missing"}
- Vérifier Jean Hoerr répondre: stackoverflow.com/questions/15437525/...
Vous devez vous connecter pour publier un commentaire.
Ressemble à Zone nécessite une bonne
Content-Type: application/x-www-form-urlencoded
en-tête de demande en outre de bien le codage d'URL les paramètres. Le même semble à appliquer pour actualiser et de révoquer les demandes.Aussi, par RFC 6749, le
redirect_uri
est seulementJ'ai été confronté à un problème similaire.
Un des aspects clés ne sont pas mentionnés dans la plupart des endroits, c'est que le code que vous obtenez sur la redirection ne dure que 30 secondes.
Pour obtenir le jeton d'accès et d'actualisation de jeton, vous devez faire le poste demande dans les 30 secondes ou moins.
Si vous négligez de le faire, vous obtenez l'erreur énoncée. J'ai trouvé l'info ici.
Ci-dessous le code a fonctionné pour moi. Gardez à l'esprit, la règle des 30 secondes.
Espère que ça aide.
Il manque le paramètre URI de redirection. Essayez:
J'ai également confrontés à la même question de la mise en œuvre de oauth2. J'ai ajouter
Content-Type: application/x-www-form-urlencoded
. Quand j'ajoutecontent-type
mon problème résolu.Vérifier et ajouter valide
content-type
.Pas sûr de qui pourrait en avoir besoin dans l'avenir, mais assurez-vous que vous envoyez une requête POST pour obtenir le jeton d'accès et de ne pas essayer de le récupérer en utilisant GET ou si vous faites des tests - coller dans la barre d'adresse ne fonctionne pas, vous devez envoyer une requête POST.
Également le code ne dure que 30 secondes.