Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 修改SendGoogleForm脚本v3_Google Apps Script - Fatal编程技术网

Google apps script 修改SendGoogleForm脚本v3

Google apps script 修改SendGoogleForm脚本v3,google-apps-script,Google Apps Script,我的脚本几乎已经完成了,但是现在我被一个错误卡住了,告诉我“66:缺少分号”。我尽我所能试过了,但我不明白 我读过这篇文章,如果理解正确,应该在函数分配给变量后使用分号,但是我放在“”中的powershell代码不应该受到影响,对吗?也许我完全搞错了 /* Send Google Form by Email v2.1 */ /* For customization, contact the developer at amit@labnol.org */ /* Tutorial: http://w

我的脚本几乎已经完成了,但是现在我被一个错误卡住了,告诉我“66:缺少分号”。我尽我所能试过了,但我不明白

我读过这篇文章,如果理解正确,应该在函数分配给变量后使用分号,但是我放在“”中的powershell代码不应该受到影响,对吗?也许我完全搞错了

/* Send Google Form by Email v2.1 */
/* For customization, contact the developer at amit@labnol.org */
/* Tutorial: http://www.labnol.org/?p=20884 */

function Initialize() {

  var triggers = ScriptApp.getProjectTriggers();

  for(var i in triggers) {
    ScriptApp.deleteTrigger(triggers[i]);
  }

  ScriptApp.newTrigger("SendGoogleForm")
  .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
  .onFormSubmit()
  .create();

}

function SendGoogleForm(e) 
{  
  try 
  {      
    //Här fyller du i mailadresserna för resp avdelning.
    var it = "";

    //Ärende på mailet
    var subject = "Ny/redigerad anställning";  

    // Variables
    var test = "Test";
    var temporarypass = "Provide a Temporary Password for this user";
    var semicolon = ";";

    //Slår ihop alla mailadresser till en.
    var email = it;

    // You may replace this with another email address
    //var email = Session.getActiveUser().getEmail();

    var s = SpreadsheetApp.getActiveSheet();
    var columns = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
    var message = "";    

    // Only include form fields that are not blank
    for ( var keys in columns ) {
      var key = columns[keys];
      if ( e.namedValues[key] && (e.namedValues[key] != "") ) {
        message += key + ' :: '+ e.namedValues[key] + "<br><br>"; 
      }
      if (key == "Förnamn")
            var fornamn = e.namedValues[key];
        else if (key == "Efternamn")
            var efternamn = e.namedValues[key];
        else if (key == "Placering")
            var placering = e.namedValues[key];
        else if (key == "Titel")
            var titel = e.namedValues[key];
        else if (key == "Avdelning")
            var avdelning = e.namedValues[key];

    }

    //Output for the email that is sent.
    subject += ", " + fornamn + " " + efternamn ;
    message +="function Remove-DiacriticsAndSpaces { Param( [String]$inputString ) $sb = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes($inputString)); return($sb -replace '[^a-zA-Z0-9]', '')}; New-ADUser -SamAccountName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"."+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')).ToLower()) -UserPrincipalName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"."+(Remove-DiacriticsAndSpaces -InputString '"+efternamn"')+"@test.com").ToLower())  -EmailAddress (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"."+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')+"@test.com").ToLower()) -Name '"+fornamn+" "+efternamn+"' -GivenName '"+fornamn+"' -Surname '"+efternamn+"' -Description '"+test+", "+avdelning+", "+titel+"' -Title '"+titel+"' -OfficePhone ' ' -Path 'OU=Users,OU=test,DC=intern,DC=test,DC=se' -Company 'test' -Department '"+avdelning+"' -Title '"+titel+"'; $NewPassword = (Read-Host -Prompt 'Provide a Temporary Password for this user' -AsSecureString); Set-ADAccountPassword -Identity '"+fornamn+"."+efternamn+"' -NewPassword $NewPassword -Reset; Set-ADAccountControl -Identity '"+fornamn+"."+efternamn+"' -Enabled $true";
    var htmlBody = "<html><p>" + message + "</p></html>";
    MailApp.sendEmail(email, subject, message, {'htmlBody': htmlBody });

  } catch (e) {
    Logger.log(e.toString());
  }

}
/*通过电子邮件发送谷歌表单v2.1*/
/*如需定制,请通过以下地址与开发人员联系:amit@labnol.org */
/*教程:http://www.labnol.org/?p=20884 */
函数初始化(){
var triggers=ScriptApp.getProjectTriggers();
for(触发器中的var i){
ScriptApp.deleteTrigger(触发器[i]);
}
ScriptApp.newTrigger(“SendGoogleForm”)
.forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
.onFormSubmit()
.create();
}
函数SendGoogleForm(e)
{  
尝试
{      
//我的邮件地址是för resp avdelning。
var it=“”;
//Ärende påmailet
var subject=“Ny/redigerad anställning”;
//变数
var test=“test”;
var temporarypass=“为此用户提供临时密码”;
var分号=“;”;
//我要把所有的信件都寄出去。
var email=it;
//您可以用其他电子邮件地址替换此地址
//var email=Session.getActiveUser().getEmail();
var s=SpreadsheetApp.getActiveSheet();
var columns=s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
var message=“”;
//仅包括非空的表单字段
for(列中的变量键){
var key=列[键];
if(e.namedValues[key]&&(e.namedValues[key]!=“”){
message+=key+'::“+e.namedvalue[key]+”

”; } 如果(键==“Förnamn”) var-fornamn=e.namedvalue[key]; else if(键==“Efternamn”) var efternamn=e.namedValues[key]; 否则如果(键==“放置”) var Placing=e.namedValues[key]; 否则,如果(键=“滴度”) var titel=e.namedValue[键]; 否则如果(键==“Avdelning”) var avdelning=e.namedvalue[key]; } //发送的电子邮件的输出。 主题+=”,“+fornamn+”+efternamn; message+=“函数Remove DiacriticsAndSpaces{Param([String]$inputString)$sb=[Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding(“西里尔文”).GetBytes($inputString));return($sb-replace'[^a-zA-Z0-9],“”)});New ADUser-SamAccountName((Remove DiacriticsAndSpaces-inputString''+fornamn+“)+”)+”)+”+ToLower())-UserPrincipalName(((移除DicriticsAndSpaces-InputString'+fornamn+')+“+”+”+((移除DicriticsAndSpaces-InputString'+fornamn+'))+((移除DicriticsAndSpaces-InputString'+efternamn')+“@test.com”).ToLower())-EmailAddress((移除DicriticsAndSpaces-InputString'+fornamn+)+“)+”)+“+”+(删除变音符号和空格-InputString'+efternamn+“”)+“@test.com”).ToLower()-Name'+fornamn+“+efternamn+”-GivenName'+fornamn+“-Name'+efternamn+”-Description'+test+“,“+titel+”-Title'+titel+“-电话'-OfficePhone'-Path'OU=Users,OU=test,DC=intern,DC=test,DC=test,DC=se'-Company'test'-Department'-Department'+avdelning'+“'-Title'+titel+”;$NewPassword=(读取主机-提示“为此用户提供临时密码”-AsSecureString);设置ADAccountPassword-Identity'+fornamn+“+efternamn+”'-新密码$NewPassword-Reset;设置ADAccountControl-Identity'+fornamn+“+efternamn+”-启用$true”; var htmlBody=“”+消息+”

”; sendmail(电子邮件、主题、消息,{'htmlBody':htmlBody}); }捕获(e){ Logger.log(例如toString()); } }

谢谢!

这是一个非常复杂的问题,因为这个字符串是无限的,并且充满了括号,但下面是我的尝试:

  • 将括号从单词
    “西里尔文”
    更改为
    “西里尔文”
  • 有几个“停止点”没有
    ++
    (只有当它们靠近
    “+fornamn+”)++
    以pharentesis关闭时,其他的都可以):

    fornamn+”)+”+(Re

    应该是

    fornamn+”)+“+”+”+(Re

  • 将括号从
    “@test.com”
    更改为
    “@test.com”
    +“@test.com”+

  • 一个“efternamn”缺少一个
    +
    '“+efternamn”
    '“+efternamn+”)
在这些更改之后,它没有显示任何其他错误,但我无法判断注入的代码是否有效

为了节省您的时间,下面是完整的字符串和我的更正:

"function Remove-DiacriticsAndSpaces { Param( [String]$inputString ) $sb = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding('Cyrillic').GetBytes($inputString)); return($sb -replace '[^a-zA-Z0-9]', '')}; New-ADUser -SamAccountName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"+"."+"+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')).ToLower()) -UserPrincipalName (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"+"."+"+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')+'@test.com').ToLower())  -EmailAddress (((Remove-DiacriticsAndSpaces -InputString '"+fornamn+"')+"+"."+"+(Remove-DiacriticsAndSpaces -InputString '"+efternamn+"')+'@test.com').ToLower()) -Name '"+fornamn+" "+efternamn+"' -GivenName '"+fornamn+"' -Surname '"+efternamn+"' -Description '"+test+", "+avdelning+", "+titel+"' -Title '"+titel+"' -OfficePhone ' ' -Path 'OU=Users,OU=test,DC=intern,DC=test,DC=se' -Company 'test' -Department '"+avdelning+"' -Title '"+titel+"'; $NewPassword = (Read-Host -Prompt 'Provide a Temporary Password for this user' -AsSecureString); Set-ADAccountPassword -Identity '"+fornamn+"."+efternamn+"' -NewPassword $NewPassword -Reset; Set-ADAccountControl -Identity '"+fornamn+"."+efternamn+"' -Enabled $true";        ```


谢谢Jescanellas!我这边的一个大失误很明显,我在同一个问题上看了好几个小时后就瞎了。哈哈。你就是那个男人!