2016-11-21 16 views
0

私は新しいプログラマであり、一般的には.jsの新機能です。 私の現在の問題は、私は(つまり、Firefoxののコンソール上の)ローカルにこのスクリプトInstagram.popular(function(r){ console.log(r)})を実行したときに、私は私がGitHubに、他の場所で読んで、それが何かをInstagramのは、いくつかのAPIのポリシーを変更してください持っている次のエラーにThe access_token provided is invalidInstagram API提供されているaccess_tokenが無効です

を得るということです説明したようにhere。 Instagramの変更ログはhereです。

誰かが正しい方向で私を指すことができるなら、私は非常に感謝します。

私の完全な.jsコードを見ることができます。

CODE

window.Instagram = { 
     /** 
     * Store application settings 
     */ 
     config: {}, 

     BASE_URL: 'https://api.instagram.com/v1', 

     init: function(opt) { 
      opt = opt || {}; 

      this.config.client_id = opt.client_id; 
     }, 

     /** 
     * Get a list of popular media. 
     */ 
     popular: function(callback) { 
      var endpoint = this.BASE_URL + '/media/popular?client_id=' + this.config.client_id; 
      this.getJSON(endpoint, callback); 
     }, 

     /** 
     * Get a list of recently tagged media. 
     */ 
     tagsByName: function(name, callback) { 
      var endpoint = this.BASE_URL + '/tags/' + name + '/media/recent?client_id=' + this.config.client_id; 
      this.getJSON(endpoint, callback); 
     }, 

     getJSON: function(url, callback) { 
      $.ajax({ 
       type: 'GET', 
       url: url, 
       dataType: 'jsonp', 
       success: function(response) { 
        if (typeof callback === 'function') callback(response); 
       } 
      }); 
     } 
    }; 

    Instagram.init({ 
     client_id: '97bf259cc45f4dd6a2cd02b694b7ffe7' 
    }); 


    $(document).ready(function() { 

     Instagram.popular(function(response) { 
      var $instagram = $('#instagram'); 
      for (var i = 0; i < response.data.length; i++) { 
       imageUrl = response.data[i].images.low_resolution.url; 
       $instagram.append('<img src="' + imageUrl + '" />'); 
      } 
     }); 

     $('#form').on('submit', function(e) { 
      e.preventDefault(); 

      var tagName = $('#search').val(); 
      Instagram.tagsByName(tagName, function(response) { 
       var $instagram = $('#instagram'); 
        $instagram.html(''); 

       for (var i = 0; i < response.data.length; i++) { 
        imageUrl = response.data[i].images.low_resolution.url; 
        $instagram.append('<img src="' + imageUrl + '" />'); 
       } 
      }); 

     }); 

    }); 

答えて

1

ブラウザでInstagram popularリンクを押すことであるから始める最初にすべきこと。応答で無効なアクセストークンが取得されていることがわかります。これは、Instagram APIがOAuthによって行われる認証を必要とするために起こります。 OAuthを実装したOAuthまたはサードパーティjs liberaryのjs実装を見つけ、それを使用してアクセストークンを取得し、その後のサーバ呼び出しでリソースを取得する必要があります。彼らがそれをどのように実装することを示唆しているか見るためにも、Instagram Developers websiteを参照する必要があります。

1

client_idを使用してAPI呼び出しを行う古いコードを使用しています。

Instagramのは、今、あなたはAPIの呼び出しを行うためのURLのparamでaccess_tokenを持っている、あなたはOAuth認証を行い、マニュアルに記載されaccess_tokenを取得する必要がありますしている6月1日、2016年以来、ちょうどclient_idとAPIの呼び出しを可能に停止:

あなたには、いくつかの古いInstagramのライブラリ

を使用しているよう

https://www.instagram.com/developer/authentication/

そしてまた、あなたのコードから/media/popular/は、そのaは非推奨、もはや有効ではありませんが見えます

関連する問題