Puis-je supprimer l'invite de connexion du navigateur pour la réponse 401 lors de l'utilisation de XmlHttpRequest avec Twitter
-
06-07-2019 - |
Question
J'utilise les méthodes ajax de jQuery pour interagir avec l'A API REST Twitter .
Leur API est un peu gênante car certaines actions renverront un code d’état HTTP 401. Dans ce cas, je veux juste que cela échoue, au lieu d’afficher une boîte de connexion.
J'ai essayé simplement de fournir un utilisateur incorrect: transmettez la paire dans l'URL, au cas où cela pourrait supprimer la boîte de dialogue et me donner une réponse d'erreur, mais cela n'a pas aidé.
Cette question a posé exactement la même question, mais la réponse a plutôt montré comment ne pas déclencher le 401.
(En particulier, c'est agaçant car c'est un bogue qui demande une authentification - la méthode users / show
n'est pas censée le demander en premier lieu.)
La solution
Rechercher dans suppress_response_codes
Il est expliqué à environ 1/4 en bas de la page ici: https://dev.twitter.com/docs/things-every- développeur-devrait-savoir
Dans la documentation Twitter (au cas où il est déplacé à nouveau):
suppress_response_codes: Si ceci paramètre est présent, toutes les réponses sera retourné avec un statut 200 OK code - même les erreurs. Ce paramètre existe pour accueillir Flash et Applications JavaScript s'exécutant dans les navigateurs qui interceptent tous les non-200 les réponses. Si utilisé, c'est alors le travail du client pour déterminer l'erreur états en analysant le corps de la réponse. Utilisez avec prudence, comme ces erreurs les messages peuvent changer.