小编Eri*_*eda的帖子

Google Apps脚本中的Cookie处理 - 如何在标头中发送Cookie?

我正在尝试编写一个简单的脚本,从网页中提取文本并处理该字符串.但是,该网站要求我登录.我成功登录该网站.这是我登录的方式:

var payload = {"name1":"val1","name2":val2"};

var opt ={"payload":payload,"method":"post"};

var respose = UrlFetchApp.fetch("http://website.com/login",opt);
Run Code Online (Sandbox Code Playgroud)

登录后,该网站将我置入http://website.com/home.我检查过response.getContentText(),我可以确认我已成功登录,因为它包含来自的文本http://website.com/home.现在我需要获取http://website.com/page并处理它的内容.我首先假设脚本可以自己处理cookie并继续

var pagedata = UrlFetchApp.fetch("http://website.com/page);//Did not work
Run Code Online (Sandbox Code Playgroud)

这显然没有用,并pagedata.getContentText()说我先登录,这表明cookie没有成功通过..

然后,我尝试提取服务器在登录期间响应的cookie,并将其与此请求一起发送.

var cookie = response.getAllHeaders()['Set-Cookie'];     

// variable cookie now contains  a legitimate cookie.

// It contains 'JSESSIONID=blabla;Path=/' and 
// it is the ONLY cookie that server responds.
Run Code Online (Sandbox Code Playgroud)

我试图在我的页面请求中发送该cookie.

var header = {'Cookie':cookie};

var opt2 = {"header":header};

var pagedata = UrlFetchApp.fetch("http://website.com/page",opt2);
Run Code Online (Sandbox Code Playgroud)

我想即使现在cookie也没有正确发送,因为内容再次让我登录.

我正确地传递了cookie吗?关于在请求中发送cookie的正确方法,我需要帮助.

cookies http google-apps-script

16
推荐指数
1
解决办法
1万
查看次数

如何停用GMail计费器电子邮件?

如何取消激活google apps skript:activityReport.我试用了gmail表,最后在google docs中删除了该文档.现在,每天晚上我收到一份报告,见下文:

Ihr Skript,Gmail Meter,konnte nicht erfolgreich fertiggestellt werden.Unten finden Sie eine Zusammenfassung der Fehler.Klicken Sie hier,um dieTriggerfürdiesesSkript zu konfigurieren oder IhreEinstellungfürdenEmpfangkünftigerBenachrichtigungenzuändern.

" 细节:

Beginn FunktionFehlermeldungAuslöserEnde14.06.12 01:15 activityReport Leider ist ein Serverfehler aufgetreten.Warten Sie eine Weile und versuchen Sieesspätererneut.基于时间的14.06.12 01:15 MitfreundlichenGrüßen

Google Apps脚本"

我该如何取消激活?

关心罗兰

google-apps-script

10
推荐指数
1
解决办法
6461
查看次数

Google Apps脚本中缓存服务的最长到期时间

有人知道Google Apps脚本中缓存服务的最长到期时间是多少?我在Google协作平台上运行我的脚本,并尝试运行重新缓存缓存的触发器,但缓存似乎仍然在一夜之间到期,我不确定它会持续多长时间.如果有人计算了缓存的实际长度,那么很高兴知道 - 不幸的是,谷歌还没有公开这些信息.

caching google-apps-script

9
推荐指数
1
解决办法
1254
查看次数

使用Google电子表格API冻结行和设置样式

如果我滚动电子表格,行的标题字段将被隐藏,我需要在同一电子表格中使用粗体文本格式.

问题
我可以通过电子表格api设置冻结行和样式 - 是否可以?

java api freeze google-sheets google-sheets-api

7
推荐指数
2
解决办法
2530
查看次数

使用Javascript解析XML(在Google脚本中)

我有温度传感器流式传输三个蜂箱的温度,并希望能够解析XML流以提供传感器的最后一个值.

我想:

  • 传感器1:75度(更新时间:下午9:04)
  • 传感器2:75度(更新时间:下午9:04)

等等

我在Google Scripts中运行以下脚本,但一直收到错误消息:

在对象<?xml version ="1.0"encoding ="UTF-8"中找不到函数getContentText?>

这是一个简单的脚本:

function XMLing() {

  var response = UrlFetchApp.fetch("https://api.cosm.com/v2/feeds/79697.xml?key=[private key here]");

  var doc = Xml.parse(response.getContentText(), true);
  var records = doc.getElements("current_value");
  var details = records[0].getText();

  return details;

}
Run Code Online (Sandbox Code Playgroud)

这是XML:

<eeml xmlns="http://www.eeml.org/xsd/0.5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.5.1" xsi:schemaLocation="http://www.eeml.org/xsd/0.5.1 http://www.eeml.org/xsd/0.5.1/0.5.1.xsd">
  <environment updated="2012-10-21T00:44:32.162393Z" created="2012-10-10T21:19:43.373591Z" id="79697" creator="https://cosm.com/users/greennomad">
    <private>false</private>
    <data id="sensor1tem">
      <current_value at="2012-10-21T00:44:32.019058Z">67.00</current_value>
      <max_value>618.0</max_value>
      <min_value>611.0</min_value>
    </data>
    <data id="sensor2tem">
      <current_value at="2012-10-21T00:44:32.019058Z">60.57</current_value>
      <max_value>61.5</max_value>
      <min_value>60.41</min_value>
    </data>
...
Run Code Online (Sandbox Code Playgroud)

javascript xml parsing google-apps-script

6
推荐指数
1
解决办法
3370
查看次数

Google应用脚本更新电子表格脚本中的融合表

我想在google docs电子表格中创建一个应用程序脚本,它会定期从工作表中复制行并将它们插入到融合表中.下面我粘贴了我最好的尝试,但应该注意的是,我真的希望它发布2列范围,而不是那对值.那只是一个占位符.

此链接描述了如何与融合表对话 http://code.google.com/apis/fusiontables/docs/developers_guide.html#Inserting

但我不明白如何编写脚本来实现这一目标.我已经乱搞了一堆,我想我有这些问题

- 我没有正确地形成发布请求 - 我错过了某种身份验证步骤.

我是一个全新的,我在这里复制粘贴.一些看起来有用的资源:

这家伙似乎已经想通了如何编写一个应用程序脚本发送POST请求 http://blog.vivekhaldar.com/post/428652690/google-apps-script-spreadsheets-mashup-hub

这似乎很重要

http://code.google.com/googleapps/appsscript/class_urlfetchapp.html
Run Code Online (Sandbox Code Playgroud)

这些人似乎在做类似的事情,但我无法弄清楚如何让它发挥作用

http://groups.google.com/group/fusion-tables-users-group/browse_thread/thread/99db4db33e405f01


function deet() {
  var advancedArgs = {
      method: "post", 
      payload: "?sql=" + "INSERT INTO 1299801(Text, Number) VALUES ('Blue Shoes', 50)", 
      headers: {"Authorization": "Basic <base64 encoding of your username:passwd"}};
  var response = UrlFetchApp.fetch(
      "https://www.google.com/fusiontables/api/query",advancedArgs);

}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

google-docs google-apps google-sheets google-apps-script google-fusion-tables

3
推荐指数
1
解决办法
8604
查看次数

使用Google Apps脚本从Google Firebase写入Google表格

尝试检索存储在google firebase中名为entries的节点下的表单条目,并使用google工作表中的脚本编辑器附加到google工作表.

我已将FirebaseApp库添加到Google表格脚本编辑器中.然后我的代码看起来像这样:

function getAllData() {
  var firebaseUrl = "https://myapp.firebaseio.com/";
  var secret = "pCOCwKCC582jpqdZe2EqPqnW3IAd3UyO9oB4uaEL2";
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
  var data = base.getData();
    Logger.log(data);
}
Run Code Online (Sandbox Code Playgroud)

当我跑步时,没有任何反应.有任何想法吗?

接下来,我需要将返回的数据从firebase添加到google工作表.我使用此代码通过工作表api执行此操作,但我不确定这在google脚本编辑器中是如何工作的?

  function addEntries() {
    gapi.client.sheets.spreadsheets.values.append({
      spreadsheetId: '10lyQpQtEA7euCfdU2isrqB_bgPuy-eSbW74h7oDP3ko',
      range: "Sheet1!A1:D100",
      majorDimension: "ROWS",
        "values": [
          ["testa", "testb", "testc", "testd"]
        ],
      valueInputOption: 'USER_ENTERED'
    }).then(function(response) {

    }, function(response) {
      appendPre('Error: ' + response.result.error.message);
    });
  }
Run Code Online (Sandbox Code Playgroud)

google-apps-script firebase firebase-realtime-database google-sheets-api

2
推荐指数
1
解决办法
7975
查看次数

Google Apps脚本中的UrlFetchApp.fetch发生意外错误

我尝试按照该示例访问Google Apps脚本中的Pingdom APIhttps : //developers.google.com/apps-script/external_apis

query = 'credits';
var username = 'foo';
var password = 'bar';
var credentials = username+':'+password;
var url = 'https://'+credentials+'@api.pingdom.com/api/2.0/'+encodeURIComponent(query);
var headers = {
  "App-Key": "abcd",
};
var options = {
    "method": "get",
    "headers": headers,
    'validateHttpsCertificates':false
};
Logger.log(url);
var response = UrlFetchApp.fetch(url);
Run Code Online (Sandbox Code Playgroud)

代码执行因以下错误而中断:

意外的错误:https:// foo:bar@api.pingdom.com/api/2.0/credits (第17行,文件“代码”)已关闭

如果我将上述URL复制/粘贴到浏览器中,则可以正常工作(即,我从pingdom API获取“缺少应用程序密钥”,该API会在正确提供用户名和密码的情况下进行确认,否则会收到无效凭据错误)。我尝试encodeURIComponent启用和不启用credentials,都会遇到相同的错误。'muteHttpExceptions':true也没有帮助。

知道什么可能导致错误吗?

javascript google-apps-script pingdom

1
推荐指数
1
解决办法
2644
查看次数

如何限制对App Maker应用程序的访问?

我想制作一个包含敏感数据的App Maker应用程序.如何才能使某些用户或组可以访问该应用程序?

google-app-maker

1
推荐指数
1
解决办法
273
查看次数