L'api Instagram oauth donne {"code": 400, "Type d'erreur":" OAuthException"," message d'erreur": "Aucun code correspondant trouvé."}

je travaille sur une application qui s'intègre à L'API Instagram pour accéder aux informations utilisateur. Je récupère avec succès le jeton D'accès en utilisant l'url authorize mais je ne peux pas récupérer l'userId en utilisant l'url access_token:

j'ai essayé les deux effets:

https://api.instagram.com/oauth/access_token?client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://localhost&grant_type=authorization_code

https://api.instagram.com/oauth/access_token

avec le corps post:

client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://localhost&grant_type=authorization_code&code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19

(la les données dans la demande est modifiée), mais je reçois le suivant

{
    "code": 400,
    "error_type": "OAuthException",
    "error_message": "No matching code found."
}

j'ai vu des tonnes de questions mais n'ai pas pu trouver de solution au problème.

le couple de questions que j'ai est:

1) is the field code in the URL is same as access_token, if not how could i get the code field's value.

2) is there any other mechanism(API) to fetch the user details given the username is not known.

Merci de m'aider car je suis complètement bloqué et la gestion de mes échéances.

24
demandé sur rds 2014-05-27 14:19:16

7 réponses

Pour moi, en décochant Désactiver implicite OAuth dans instagram développeur -> gérer les clients correction de l'émission

12
répondu h0mayun 2014-12-27 16:54:22

j'ai trouvé que l'utilisation de form-data ou application/x-www-form-urlencoded fonctionne très bien. Le plus important est le code que vous obtenez de redirect uri n'est utilisé que par une seule requête. Cela signifie que vous pouvez demander le jeton d'accès une fois pour le code . Si vous demandez plus d'une fois avec la même code , vous obtiendrez l'erreur comme ceci:

{
    code: 400,
    error_type: "OAuthException",
    error_message: "Matching code was not found or was already used."
}

vous Souhaite à tous le meilleur ;)

1
répondu yuhua 2016-08-16 09:50:39

essayer de urlEncode le param redirect_uri à

http%3A%2F%2Flocalhost

et votre code param contient le"."caractère de ce qui pourrait être une erreur.

code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19

pourrait causer le problème

"error_message": "No matching code found."

" 5dc92c4d15ea4a4ea1b0d33eaf0eef19 "semble être le code correct

0
répondu Charlie 2014-06-06 08:32:05

j'ai eu la même erreur. Il semble que le système de spam d'instagram désactive l'accès de l'utilisateur à n'importe quelle application non-officielle. Il suffit de changer le mot de passe utilisateur. Dans mon cas, c'était de l'aide. Essayez aussi de créer une autre application.

UPD

de ma réponse à une autre question

il semble que les utilisateurs obtiennent plus d'un code , et vous voyez first code , mais il faut second . Essayez relogin utilisateurs, si vous obtenez erreur. L'utilisateur ne verra pas la page instagram avec le bouton Confirmer, juste des redirections.

algorithme D'erreur Possible:

1. User click auth link.
2. Get first code.
3. User click auth link (twice, redirection problem, public auth system, etc.)
4. Get another code (even on the same client_id, redirect_uri).
5. You get first code.
6. But first code already doesn't exists.
0
répondu CnapoB 2017-05-23 12:16:28

le problème est ici que le besoin redirige url défini comme http://localhost/signin-instagram

signin-instagram la partie est très importante Alors, allez à Instagram.com/developer ->gestion-> Sécurité -> Valide redirect Uri définie à cette fin, http:/../ signe-instagram

0
répondu Irmantas Medeišis 2016-03-26 17:59:04

Hors fin d'instagram extrait python échoue en raison d'un manque de contenu-type d'en-tête HTTP

response, content = http_object.request(url, method="POST", body=data,headers = {"Content-type": "application/x-www-form-urlencoded"})

ajouter application / x-www-form-urlencoded travaillé pour moi

0
répondu sathish 2016-07-31 17:05:27

je mentionnerai ce qui a fonctionné pour moi.

Étape 1 . Générer un nouveau client secret à partir de votre panel.

l'Étape 2 . Suivez l'étape 1 mentionnée ici pour obtenir le code à nouveau.

l'Étape 3 . Envoyer la demande à nouveau avec les paramètres modifiés.

assurez-vous que vous êtes connecté dans le navigateur lorsque vous envoyez demande. Vous obtiendrez la réponse nécessaire.

0
répondu Weaver 2017-01-19 15:51:40