首页 > 解决方案 > How can I use multiple random YouTube v3 API keys

问题描述

I have this code below, I want to use randomly API key picked from the list of keys:

function search() {
  // Clear Results
  $('#results').html('');
  $('#buttons').html('');

  // Get Form Input
  q = $('#query').val();

  // Run Get Request on API
  $.get(
    "https://www.googleapis.com/youtube/v3/search", {
      part: 'snippet, id',
      q: q,
      maxResults: 10,
      type: 'video',
      key: 'eeHFSFqK7zw9IrUyNCCuoAIzaSyCGEIc9V4qPKl'
    },
    function(data) {
      var nextPageToken = data.nextPageToken;
      var prevPageToken = data.prevPageToken;
      // Log Data
      console.log(data);
      $.each(data.items, function(i, item) {
        // Get Output
        var output = getOutput(item);
        // Display Results
        $('#results').append(output);
      });
      var buttons = getButtons(prevPageToken, nextPageToken);
      // Display Buttons
      $('#buttons').append(buttons);
    }
  );
}

I Want To Change This Code :

key: 'eeHFSFqK7zw9IrUyNCCuoAIzaSyCGEIc9V4qPKl'},

To Other Random API keys:

AIzaSyDIPhJMU8UnT5Ge8rp3OJNsoTvCRVNjngd

AIzaS_nb6cvB8r2MR5ATxOZ4W4yBVRxfGc4xpFm

AIzaSzEmOA7qNfcUxDOdNLNzInuwyCmOcuD-OjB

AIzasMirEprAzJ_egdpumvglEcSyDtyL_PT5PCA

AIzaSP1bObfQTaTel2cADI1UyAdCWLOhkjOAEDS

I Tried This :

 var r_text = new Array();
 r_text[0] = "AIzaSyDIPhJMU8UnT5Ge8rp3OJNsoTvCRVNjngd";
 r_text[1] = "AIzaS_nb6cvB8r2MR5ATxOZ4W4yBVRxfGc4xpFm";
 r_text[2] = "AIzaSzEmOA7qNfcUxDOdNLNzInuwyCmOcuD-OjB";
 r_text[3] = "AIzasMirEprAzJ_egdpumvglEcSyDtyL_PT5PCA";
 r_text[4] = "AIzaSP1bObfQTaTel2cADI1UyAdCWLOhkjOAEDS";
 var nn = Math.floor(5 * Math.random())



     function search() {
   // Clear Results
   $('#results').html('');
   $('#buttons').html('');

   // Get Form Input
   q = $('#query').val();

   // Run Get Request on API
   $.get(
     "https://www.googleapis.com/youtube/v3/search", {
       part: 'snippet, id',
       q: q,
       maxResults: 10,
       type: 'video',
       key: r_text[nn]
     },
     function(data) {
       var nextPageToken = data.nextPageToken;
       var prevPageToken = data.prevPageToken;
       // Log Data
       console.log(data);
       $.each(data.items, function(i, item) {
         // Get Output
         var output = getOutput(item);
         // Display Results
         $('#results').append(output);
       });
       var buttons = getButtons(prevPageToken, nextPageToken);
       // Display Buttons
       $('#buttons').append(buttons);
     }
   );
 }

But is not working :/

标签: javascriptjsonapiyoutube-apiyoutube-javascript-api

解决方案


您应该尝试将随机数变量放在搜索函数中,因此每次search()调用该函数时,都会选择随机 API 密钥:

 var r_text = new Array();
 r_text[0] = "AIzaSyDIPhJMU8UnT5Ge8rp3OJNsoTvCRVNjngd";
 r_text[1] = "AIzaS_nb6cvB8r2MR5ATxOZ4W4yBVRxfGc4xpFm";
 r_text[2] = "AIzaSzEmOA7qNfcUxDOdNLNzInuwyCmOcuD-OjB";
 r_text[3] = "AIzasMirEprAzJ_egdpumvglEcSyDtyL_PT5PCA";
 r_text[4] = "AIzaSP1bObfQTaTel2cADI1UyAdCWLOhkjOAEDS";


function search() {
    var nn = Math.floor(5 * Math.random());
   // Clear Results
   $('#results').html('');
   $('#buttons').html('');

   // Get Form Input
   q = $('#query').val();

   // Run Get Request on API
   $.get(
     "https://www.googleapis.com/youtube/v3/search", {
       part: 'snippet, id',
       q: q,
       maxResults: 10,
       type: 'video',
       key: r_text[nn]
     },
     function(data) {
       var nextPageToken = data.nextPageToken;
       var prevPageToken = data.prevPageToken;
       // Log Data
       console.log(data);
       $.each(data.items, function(i, item) {
         // Get Output
         var output = getOutput(item);
         // Display Results
         $('#results').append(output);
       });
       var buttons = getButtons(prevPageToken, nextPageToken);
       // Display Buttons
       $('#buttons').append(buttons);
     }
   );
 }

推荐阅读