具有多个var数据

时间:2019-05-28 14:17:25

标签: google-apps-script instagram-api

嗨,

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.log('data', data);
  var oldVariantOfData = data['entry_data']['ProfilePage'][0];
  console.log('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
  };  
}

此脚本将instagram站点称为“ data1”,并将UserCount打印到电子表格中。但我想使用其他instagramAccountName

Id想再设置3个数据。

var instagramAccountName = "data1"&&"data2";不起作用,所以您有什么建议?

THX

1 个答案:

答案 0 :(得分:1)

首先,只需按全局变量的名称引用它们,就不需要this

第二,"data1"&&"data2"等于“ data1 AND data2”(应用程序脚本是基于JS的语言),它总是将true写入您的instagramAccountName变量中。

第三,有很多方法可以引用多个帐户名,但是,您可以将名称为instagramAccountName的{​​{1}}写入Array变量,然后调用{{1 }}在= ['n1','n2']getInstagramData(username)循环中。

最后,您的函数应如下所示(顺便说一句,accountdata是否也定义为全局值?我似乎找不到您定义它的位置):

for