如何使用Google脚本进行身份验证以登录网站?

时间:2015-10-28 12:34:48

标签: google-apps-script http-headers httprequest httpresponse

我想进行身份验证,然后将广告发布到带有Google Apps脚本的网站。 计划是这样的:

  1. 通过HTTP post方法进行身份验证登录。
  2. 获取回复并获取所需的Cookie。
  3. 发送包含广告和Cookie所需内容的新帖子请求,以使网站将该脚本标识为“登录用户”。
  4. 我被困在第一阶段。 我制作了这个剧本:

    function sendHttpPost() {
       var options =
       {
         "method" : "post",
         "login[email]" : "mihsav76@gmail.com",
         "login[password]" : "testpas"              
       };
    
       var response = UrlFetchApp.fetch("http://olx.ua/myaccount/", options);
       var sessionDetails = response.getAllHeaders();       
       Logger.log(response.getContentText());
     }
    

    我通过开发者控制台获得的凭据。屏幕截图已附上。

    http post method by google script

    我从响应中获得的HTML代码只是一个开始登录页面。这个阶段做错了什么?

1 个答案:

答案 0 :(得分:0)

您将登录参数作为选项传递给UrlFetchApp,但您需要将它们作为POST正文中的字段传递。这是通过'有效载荷来完成的。选项。

   var options =
   {
     "method" : "post",
     "payload":{"login[email]" : "mihsav76@gmail.com",
                "login[password]" : "testpas"
               }
   };

参见"高级参数"表格和示例在这里的文档:

https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetchurl-params