2016-12-13 22 views
0

アカウントの画像を参照するためにアクセストークンを取得したいと考えています。そこで、ユーザーが接続できる場所にポップアップを表示します。ポップアップは機能しますが、コードを送信する代わりにユーザーが接続された状態で、Instagramサイトにリダイレクトされます。私がログインしてから、それは私をリダイレクトしinstagram APIのアクセストークンを取得

https://www.instagram.com/accounts/login/?force_classic_login=&next=/oauth/authorize/%3Fclient_id=aaaaaaaa&redirect_uri=url&response_type=token 

::私はコードを取得する方法を理解していない

https://www.instagram.com/oauth/authorize/?client_id=aaaaaaa&redirect_uri=url&response_type=token 

。接続へのリンクは次のようなものですまた、次のコードと同じコードを使用しました。https://github.com/radykal/instagram-popup-login

誰かが私を助けてくれますか?

EDIT

var loc = window.location.host+window.location.pathname; 

var accessToken = null; //the access token is required to make any endpoint calls, http://instagram.com/developer/endpoints/ 
    var authenticateInstagram = function(instagramClientId, instagramRedirectUri, callback) { 
     //the pop-up window size, change if you want 
     var popupWidth = 700, 
      popupHeight = 500, 
      popupLeft = (window.screen.width - popupWidth)/2, 
      popupTop = (window.screen.height - popupHeight)/2; 
     //the url needs to point to instagram_auth.php 
     var popup = window.open('instagram_auth.php', '', 'width='+popupWidth+',height='+popupHeight+',left='+popupLeft+',top='+popupTop+''); 
     popup.onload = function() { 
      //open authorize url in pop-up 
      if(window.location.hash.length == 0) { 
       popup.open('https://instagram.com/oauth/authorize/?client_id='+instagramClientId+'&redirect_uri='+instagramRedirectUri+'&response_type=token', '_self'); 
      } 

      //an interval runs to get the access token from the pop-up 
      var interval = setInterval(function() { 
       try { 
        console.log(window.location); 
        //check if hash exists 
        if(popup.location.hash.length) { 
         //hash found, that includes the access token 
         clearInterval(interval); 
         accessToken = popup.location.hash.slice(14); //slice #access_token= from string 
         popup.close(); 
         if(callback != undefined && typeof callback == 'function') callback(); 
        } 
       } 
       catch(evt) { 
        //permission denied 
        console.log("error"); 
       } 
      }, 100); 
     } 
    }; 
    function login_callback() { 
     alert("You are successfully logged in! Access Token: "+accessToken); 
    } 
    function login() { 
     authenticateInstagram(
      '16edb5c3bc05437594d69178f2aa646a', //instagram client ID 
      'localhost/facebook', //instagram redirect URI 
      login_callback //optional - a callback function 
     ); 
     return false; 
    } 

答えて

1

コードはOKですが、私はあなたのアプリケーションの設定に問題があると思う: "無効「のクライアントを管理する」に進み、Instagramの開発にログインし、「セキュリティ」タブ暗黙的なOAuth "となります。

関連する問題