Наличие нескольких переменных данных

Приведенный ниже скрипт вызывает сайт Instagram «data1» и печатает UserCount в электронную таблицу. но я хочу использовать разные instagramAccountName

Я хотел бы настроить еще 3 данных.

var instagramAccountName = "data1"&&"data2"; не работает, так что ваши предложения?

var sheetName = "Tabellenblatt1";
var instagramAccountName = "data1";

function insertFollowerCount() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(this.sheetName);
  accountdata = getInstagramData(this.instagramAccountName);
  sheet.appendRow([instagramAccountName, Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"), accountdata.followerCount]);  
 };

function getInstagramData(username) {
  var r = new RegExp('<script type = "text/javascript">' + 
                   '([^{]+?({.*profile_pic_url.*})[^}]+?)' +
                   '</script>');
  var url = "https://www.instagram.com/" + username
  var source = UrlFetchApp.fetch(url).getContentText();
  var jsonStr = source.match(r)[2];
  var data = JSON.parse(jsonStr);
  console.info('data', data);
  var oldVariantOfData = data['entry_data']['ProfilePage'][0];
  console.info('oldVariantOfData', oldVariantOfData);

  return {
    followerCount : oldVariantOfData.graphql.user.edge_followed_by.count,
    followCount : oldVariantOfData.graphql.user.edge_follow.count, 
    mediaCount : oldVariantOfData.graphql.user.edge_owner_to_timeline_media.count
  };  
}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Во-первых, просто ссылайтесь на свои глобальные переменные по их именам, нет необходимости в this.
  2. Во-вторых, "data1" && "data2" равно «данные1 И данные2» ​​(скрипт Google Apps — это подмножество JavaScript), который всегда сохраняет true в вашей переменной instagramAccountName.
  3. В-третьих, существует множество способов сослаться на несколько имен учетных записей, но вы можете записать в свою instagramAccountName переменную Array имен = ['n1','n2'], а затем вызвать getInstagramData(username) с помощью for, for...of цикла или forEach метода.

В итоге ваша функция должна выглядеть так (кстати, accountdata должна быть определена во внешней области видимости, иначе вы получите ReferenceError):

var instagramAccountName = ['data1','data2'];

function insertFollowerCount() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(sheetName);

  instagramAccountName.forEach(function(username){
    accountdata = getInstagramData(username);
    sheet.appendRow([username, Utilities.formatDate(new Date(), 
    "GMT", "yyyy-MM-dd"), accountdata.followerCount]); 
  });     
};

использованная литература

  1. forEach метод ссылка на MDN

Ты абсолютно ГЕРОЙ! Спасибо. Но теперь у меня есть проблема с выводом: вместо того, чтобы печатать «data1» в качестве имени учетной записи, он печатает [Ljava.lang.Object;@2587f384

Tom tom 28.05.2019 16:56

Извините, забыл изменить ссылку - код пытался записать Array имен в ячейку :) Кстати, ваша accountdata переменная определена вне insertFollowerCount? Если нет, пожалуйста, инициализируйте его с помощью var accountdata

Oleg Valter is with Ukraine 28.05.2019 16:58

Рад, что смог помочь! Взгляните на ссылка, когда у вас будет время — это поможет вам лучше понять, как работает скрипт приложения.

Oleg Valter is with Ukraine 28.05.2019 17:03

Другие вопросы по теме

Как уменьшить количество вызовов службы Google App Script
Как заставить Google Sheets привязанный code.js читать и действовать на JavaScript из не содержащегося удаленного файла .js?
Проблема с проверкой данных в пакетном обновлении API Google Таблиц
Как подсчитать строки между двумя непустыми ячейками с их промежуточными пустыми ячейками в Google Sheets?
Автоматически отправлять электронную почту, когда ячейка в столбце имеет определенное значение
Поиск значения с другой вкладки/листа в листах Google на основе ссылки на ячейку
Как объединить отформатированные и неотформатированные ячейки, сохраняя при этом форматирование отформатированной ячейки для применения к объединенной ячейке в Google Таблицах?
Проблема с часовым поясом скрипта
Условное форматирование — ячейки в диапазоне, имеющие совпадающие значения из другого диапазона
Как заблокировать результат выходной ячейки, если он соответствует критериям, от последующего изменения значения во входной ячейке в Google Sheets?