register para how developer instagram

para - Cómo obtener un token de acceso a Instagram



instagram developer register (12)

Al usar https://www.hurl.it/ pude ver esto: {"code": 400, "error_type": "OAuthException", "error_message": "El código coincidente no se encontró o ya se usó". }

Entonces, debe obtener un nuevo código para cada solicitud.

Realmente estoy luchando por la forma en que debo obtener mi token de acceso para Instagram,

He registrado un nuevo cliente y luego he usado esta URL

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code

para completar la identificación de los clientes y redirigir la URL.

Luego fui redireccionado a una página donde mostraba un código en la URL, pero desde allí no tengo ni idea de dónde encontrar mi identificador de acceso.


Casi todas las respuestas que las personas han publicado hasta ahora solo cubren cómo manejar los tokens de acceso en la interfaz, siguiendo el procedimiento de "autenticación implícita" del lado del cliente de Instagram. Este método es menos seguro y no recomendado de acuerdo con los documentos API de Instagram.

Suponiendo que está utilizando un servidor, los documentos de Instagram fallan al proporcionar una respuesta clara sobre el intercambio de un código para un token, ya que solo dan un ejemplo de una solicitud de CURL. Básicamente, debe realizar una solicitud POST a su servidor con el código provisto y toda la información de su aplicación, y devolverá un objeto de usuario, incluida la información del usuario y el token.

No sé en qué idioma estás escribiendo, pero lo resolví en Node.js con el módulo de solicitud npm que puedes encontrar here .

Analicé la URL y usé esta información para enviar la solicitud posterior

var code = req.url.split(''code='')[1]; request.post( { form: { client_id: configAuth.instagramAuth.clientID, client_secret: configAuth.instagramAuth.clientSecret, grant_type: ''authorization_code'', redirect_uri: configAuth.instagramAuth.callbackURL, code: code }, url: ''https://api.instagram.com/oauth/access_token'' }, function (err, response, body) { if (err) { console.log("error in Post", err) }else{ console.log(JSON.parse(body)) } } );

Por supuesto, reemplace las cosas de configAuth con su propia información. Probablemente no estés utilizando Node.js, pero es de esperar que esta solución te ayude a traducir tu propia solución al idioma en el que la estés utilizando.


Deshabilita oauth implícita bajo la autenticación de seguridad y ENTONCES carga esto:

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token

Especifique el URI de REDIRECT en su cuenta y escríbalo exactamente como se especificó.


El enlace a la documentación oficial de la API es http://instagram.com/developer/authentication/

Longstory corto - dos pasos:

Obtener el CÓDIGO

Abra https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code con información de http://instagram.com/developer/clients/manage/

Obtener token de acceso

curl /-F ''client_id=CLIENT-ID'' / -F ''client_secret=CLIENT-SECRET'' / -F ''grant_type=authorization_code'' / -F ''redirect_uri=YOUR-REDIRECT-URI'' / -F ''code=CODE'' / https://api.instagram.com/oauth/access_token


El token de acceso se devuelve como un fragmento de URI después de que autoriza a la aplicación a usar sus datos de Instagram. Debería verse algo como lo siguiente:



La API de Instagram está pensada no solo para ti, sino también para que cualquier usuario de Instagram se autentique con tu aplicación. Seguí las instrucciones en el sitio web de Instagram Dev . Usando el primer método (explícito), pude hacer esto bastante fácilmente en el servidor.

Paso 1) Agregue un enlace o botón a su página web en el que un usuario pueda hacer clic para iniciar el proceso de autenticación:

<a href="https://api.instagram.com/oauth/authorize/?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code">Get Started</a>

YOUR_CLIENT_ID y YOUR_REDIRECT_URI se le entregarán después de que registre exitosamente su aplicación en el backend de Instagram, junto con YOUR_CLIENT_SECRET usa a continuación.

Paso 2) En el URI que definió para su aplicación, que es lo mismo que YOUR_REDIRECT_URI , debe aceptar la respuesta del servidor de Instagram. El servidor de Instagram le devolverá una variable de code en la solicitud. Luego debe usar este code y otra información sobre su aplicación para realizar otra solicitud directamente desde su servidor para obtener access_token . Hice esto en python usando el framework Django, de la siguiente manera:

Dirija django a la función de response en urls.py :

from django.conf.urls import url from . import views app_name = ''main'' urlpatterns = [ url(r''^$'', views.index, name=''index''), url(r''^response/'', views.response, name=''response''), ]

Aquí está la función de response , manejando la solicitud, views.py :

from django.shortcuts import render import urllib import urllib2 import json def response(request): if ''code'' in request.GET: url = ''https://api.instagram.com/oauth/access_token'' values = { ''client_id'':''YOUR_CLIENT_ID'', ''client_secret'':''YOUR_CLIENT_SECRET'', ''redirect_uri'':''YOUR_REDIRECT_URI'', ''code'':request.GET.get(''code''), ''grant_type'':''authorization_code'' } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) response_string = response.read() insta_data = json.loads(response_string) if ''access_token'' in insta_data and ''user'' in insta_data: #authentication success return render(request, ''main/response.html'') else: #authentication failure after step 2 return render(request, ''main/auth_error.html'') elif ''error'' in req.GET: #authentication failure after step 1 return render(request, ''main/auth_error.html'')

Esta es solo una forma, pero el proceso debería ser casi idéntico en PHP o en cualquier otro lenguaje del lado del servidor.


Prueba esto:

dmolsen.com/2013/04/05/generating-access-tokens-for-instagram

después de obtener el código, puedes hacer algo como:

curl -F ''client_id=[your_client_id]'' -F ''client_secret=[your_secret_key]'' -F ''grant_type=authorization_code'' -F ''redirect_uri=[redirect_url]'' -F ''code=[code]'' https://api.instagram.com/oauth/access_token


Si estás buscando instrucciones, echa un vistazo a esta post artículo. Y si usa C # ASP.NET, eche un vistazo a este repo .


Si no quiere construir su lado del servidor, como solo desarrollarlo desde el lado del cliente (aplicación web o una aplicación móvil), puede elegir una Autenticación implícita .

Como dice el documento, primero haga una solicitud https con

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token

Complete su CLIENT-ID y REDIRECT-URL que designó.

Luego irá a la página de inicio de sesión, pero lo más importante es cómo obtener el token de acceso una vez que el usuario inicie sesión correctamente.

Después de que el usuario haga clic en el botón de inicio de sesión con la cuenta correcta y la contraseña, la página web se redireccionará a la url que usted designó, seguida de un nuevo token de acceso.

http: // your-redirect-uri # access_token = ACCESS-TOKEN

No estoy familiarizado con JavaScript, pero en Android Studio, es una manera fácil de agregar un oyente que escucha el evento en el que la página web anula la url a la nueva URL (evento de redirección), luego pasa la cadena de URL de redirección a usted, entonces puede dividirlo fácilmente para obtener el token de acceso como:

String access_token = url.split ("=") [1];

Significa romper la url en la matriz de cadenas en cada carácter "=", entonces el token de acceso obviamente existe en [1].



ve a administrar la página de clinet en:

http://www.instagram.com/developer/

establecer una URL de redireccionamiento

entonces :

usa este código para obtener el token de acceso:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>tst</title> <script src="../jq.js"></script> <script type="text/javascript"> $.ajax({ type: ''GET'', url: ''https://api.instagram.com/oauth/authorize/?client_id=CLIENT-‌​ID&redirect_uri=REDI‌RECT-URI&response_ty‌pe=code'' dataType: ''jsonp''}).done(function(response){ var access = window.location.hash.substring(14); //you have access token in access var }); </script> </head> <body> </body> </html>