2014-09-26 2 views
0

Мое требование следующее.Получить токен доступа к Instagram без перегрузки страницы

Я на странице create.html Я хочу запустить всплывающее сообщение Login with Instagram. Когда пользователь нажимает это всплывающее окно. Я хочу, чтобы аутентифицировать пользователя во всплывающем окне, например facebook, и вернуть токен доступа на ту же страницу без перезагрузки. Поскольку я добавляю pics, я получу от instagram в div, который уже содержит фотографии из facebook, которые будут потеряны, если я обновляюсь.

Я успешно запускаю запрос и получаю этот токен доступа. Но я не уверен, как я могу захватить этот токен, как функция успеха в ajax-запросе.

Req: https://api.instagram.com/oauth/authorize/?client_id=XXX&redirect_uri=http://localhost:3000/auth/instagram/callback&response_type=code

разрешение: http://localhost:3000/auth/instagram/callback?code=XXXX

Как я захватить, что code=XXXX в моем create.html?

Я могу использовать только javascript и jquery. Nodejs? нет!

Я пробовал использовать эту библиотеку. https://github.com/Instagram/instagram-javascript-sdk, но это дает мне ошибку. {"code": 400, "error_type": "OAuthException", "error_message": "JS login temporarily disabled"}.

Если есть какой-нибудь способ, чтобы получить этот знак, как Facebook. (Ниже)

FB.login(
     function (response) { 
      if (response.authResponse) { 
      access_token = FB.getAuthResponse()['accessToken']; 
      new facebookLogin(access_token); 
      } 
     } 
    ); 

или каким-либо образом, чтобы захватить этот URL code=XXXX. любезно помогите мне.

Спасибо.

ответ

0

Просто используйте window.location.search на странице обратного вызова, чтобы получить доступ к строке запроса и проанализировать параметр кода.

+0

Дело в том, что я не хочу такую ​​страницу. Я не хочу использовать другую страницу. – unkn0wn

+0

На вашей странице создания после запуска всплывающего окна вы можете использовать setTimeout для мониторинга URL-адреса во всплывающем окне с использованием location.href, чтобы определить, если вы перешли на обратный URL-адрес. Затем вы можете извлечь код, закрыть окно и продолжить. Опасайтесь, что вы используете здесь код авторизации. Вам нужно будет выполнить запись в конечную точку токена для instagram для обмена кодом для конечного токена доступа. – user1276304

Смежные вопросы