GVKun编程网logo

Google App Script:将值作为整数而不是小数传递(谷歌javascript:void)

1

针对GoogleAppScript:将值作为整数而不是小数传递和谷歌javascript:void这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展angular–ngnewhello错误:路

针对Google App Script:将值作为整数而不是小数传递谷歌javascript:void这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在、Firestore 获取所有文档并在 Google App Script Web App 上显示为 HTML 表格 示例脚本:结果:注意:参考:、Flutter, FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app)、Google App Script - 从 GOOGLE 工作表写入 CLOUD SQL等相关知识,希望可以帮助到你。

本文目录一览:

Google App Script:将值作为整数而不是小数传递(谷歌javascript:void)

Google App Script:将值作为整数而不是小数传递(谷歌javascript:void)

如何解决Google App Script:将值作为整数而不是小数传递

我正在尝试从 Google Script 创建一个 post API 负载,并且需要传递数字字段而不使用十进制值。 但是,应用程序脚本总是在最后添加一个十进制 0(例如 1000.0),这会产生问题

var amt = ''1000''; 
Logger.log(amt);
var options = {
    "method": "post","payload": {
  "amount": parseInt(amt),

logger 回复 1000,但是在 options 中使用时,却传了 1000.0

任何帮助都会有用..

解决方法

您可以将帖子请求中的数字作为字符串传递,然后在接收端将其转换为整数

示例:

Apps 脚本

var amt = ''1000''; 
var options = {
    "method": "post","payload": {
        "amount": amt,}
     }

接收端:

amt = parseInt(amt);

angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在

angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在

我在角度创建新项目时面临问题.
当我运行新的myapp命令时,我得到以下命令

新的你好

Error: Path "/app/app.module.ts" does not exist.
Path "/app/app.module.ts" does not exist.

谁能帮我吗???

解决方法

这是解决方案

Please make sure that your new folder have write permission

如果您使用的是ubuntu,请将以下命令运行到该文件夹

sudo chmod 644 -R foldername

然后运行新的appname

并检查您的节点版本

Firestore 获取所有文档并在 Google App Script Web App 上显示为 HTML 表格 示例脚本:结果:注意:参考:

Firestore 获取所有文档并在 Google App Script Web App 上显示为 HTML 表格 示例脚本:结果:注意:参考:

如何解决Firestore 获取所有文档并在 Google App Script Web App 上显示为 HTML 表格 示例脚本:结果:注意:参考:

提前致谢。

需要有关使用 FirestoreGoogleAppsScript 库的帮助。需要拉取所有文档并显示在 HTML 表格上。我能够使用 allDocumentsRows = firestore.getDocuments("StudentInfo");但我得到了一些数据,不知道如何解析,请看下面的结果。

再次非常感谢您

下面是我的 Firestore:

  1. [{"name":"projects/aerobic-rampart-310908/databases/(default)/documents/StudentInfo/2kVWabLEOIklMjFjSx8Z","fields":{"Lname":{"stringValue":"Neman"},"Gender":{"stringValue":"Male"},"StudID":{"stringValue":"P1003"},"Fname":{"stringValue":"Mike"},"Age":{"stringValue":"30"}},"createTime":"2021-04-19T01:19:07.244542Z","updateTime":"2021-04-19T01:20:07.525386Z","readTime":"2021-04-19T04:49:08.022505Z"},{"name":"projects/aerobic-rampart-310908/databases/(default)/documents/StudentInfo/5alVKxcuefigpDJxVz42","fields":{"StudID":{"stringValue":"P1003"},"Lname":{"stringValue":"Neman"},"Age":{"stringValue":"30"},"Fname":{"stringValue":"Mike"}},"createTime":"2021-04-19T01:20:17.336285Z","updateTime":"2021-04-19T01:20:17.336285Z",{"name":"projects/aerobic-rampart-310908/databases/(default)/documents/StudentInfo/PUfVFCSSvb6Ocsg8GuL9","createTime":"2021-04-19T01:20:14.947172Z","updateTime":"2021-04-19T01:20:14.947172Z",{"name":"projects/aerobic-rampart-310908/databases/(default)/documents/StudentInfo/SKskdYQO6YQv0jPN16ma","fields":{"Age":{"stringValue":"30"},"StudID":{"stringValue":"P1003"}},"createTime":"2021-04-19T01:20:19.429915Z","updateTime":"2021-04-19T01:20:19.429915Z",{"name":"projects/aerobic-rampart-310908/databases/(default)/documents/StudentInfo/bWmpnwK5iuUuhJ5jEG6c","fields":{"Gender":{"stringValue":"Male"},"createTime":"2021-04-19T01:20:18.516428Z","updateTime":"2021-04-19T01:20:18.516428Z",{"name":"projects/aerobic-rampart-310908/databases/(default)/documents/StudentInfo/gpIqfyWpHJBNosJuOJSw","Gender":{"stringValue":"Male"}},"createTime":"2021-04-19T01:20:22.676022Z","updateTime":"2021-04-19T01:20:22.676022Z","readTime":"2021-04-19T04:49:08.022505Z"}]

解决方法

我相信你的目标如下。

  • 您想从 Firestore 检索值,并且您想使用 Google Apps 脚本使用检索到的值创建 HTML 表。

allDocumentsRows = firestore.getDocuments("StudentInfo")的示例值为您问题中的值,标题行为["Age","Fname","Lname","StudID","Gender"]时,示例脚本如下。

示例脚本:

  1. const allDocumentsRows = firestore.getDocuments("StudentInfo"); // This script is from your question.
  2. const headers = ["Age","Gender"]; // As the header row,please set the keys in fields with the order you want to use.
  3. const h = headers.reduce((s,e) => s += `<th>${e}</th>`,"<tr>") + "</tr>";
  4. const htmlTable = allDocumentsRows.reduce((s,{fields}) =>
  5. s += headers.reduce((t,hed) => t += `<td>${fields[hed].stringValue}</td>`,"<tr>") + "</tr>",`<table>${h}`) + "</table>";
  6. console.log(htmlTable)

结果:

当以上脚本用于您的样本值时,得到以下结果。

  1. <table><tr><th>Age</th><th>Fname</th><th>Lname</th><th>StudID</th><th>Gender</th></tr><tr><td>30</td><td>Mike</td><td>Neman</td><td>P1003</td><td>Male</td></tr><tr><td>30</td><td>Mike</td><td>Neman</td><td>P1003</td><td>Male</td></tr><tr><td>30</td><td>Mike</td><td>Neman</td><td>P1003</td><td>Male</td></tr><tr><td>30</td><td>Mike</td><td>Neman</td><td>P1003</td><td>Male</td></tr><tr><td>30</td><td>Mike</td><td>Neman</td><td>P1003</td><td>Male</td></tr><tr><td>30</td><td>Mike</td><td>Neman</td><td>P1003</td><td>Male</td></tr></table>

注意:

  • 当您要更改标题的顺序时,请修改const headers = ["Age","Gender"]

参考:

  • reduce()

Flutter, FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app)

Flutter, FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app)

如何解决Flutter, FirebaseError: Firebase: No Firebase App ''[DEFAULT]'' has been created - 调用 Firebase App.initializeApp() (app/no-app)

我正在尝试在网络上运行我的移动 Flutter 应用程序,我想我已经完成了我需要做的所有配置,但出现错误:“FirebaseError: Firebase: No Firebase App ''[DEFAULT]'' has been created - 调用 Firebase App.initializeApp()(应用程序/无应用程序)。”有谁知道我应该怎么做才能解决它?我正在 main 中初始化 firebase,我找不到我还能做什么。

这是我的 main.dart:

import ''package:firebase_core/firebase_core.dart'';
import ''package:Flutter/material.dart'';
import ''package:untitled1/quiz_app/sign_in.dart'';

void main() async{
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MaterialApp(

    //initialRoute: ''/SignIn'',debugShowCheckedModeBanner: false,theme: ThemeData(
        primarySwatch: Colors.indigo
    ),routes: {
      ''/SignIn'' :(context) => SignInPage(),},home: Scaffold(
        resizetoAvoidBottomInset: false,body: SignInPage()
    ),));
}

这里是 index.html:

<!DOCTYPE html>
<html>
<head>
  <!--
    If you are serving your web app in a path other than the root,change the
    href value below to reflect the base path you are serving from.

    The path provided below has to start and end with a slash "/" in order for
    it to work correctly.

    For more details:
    * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

    This is a placeholder for base href that will be replaced by the value of
    the `--base-href` argument provided to `Flutter build`.
  -->
  <base href="$FlutteR_BASE_HREF">

  <Meta charset="UTF-8">
  <Meta content="IE=Edge" http-equiv="X-UA-Compatible">
  <Meta name="description" content="A new Flutter project.">

  <!-- iOS Meta tags & icons -->
  <Meta name="apple-mobile-web-app-capable" content="yes">
  <Meta name="apple-mobile-web-app-status-bar-style" content="black">
  <Meta name="apple-mobile-web-app-title" content="ahmett">
  <link rel="apple-touch-icon" href="icons/Icon-192.png">

  <title>ahmett</title>
  <link rel="manifest" href="manifest.json">
</head>
<body>
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/8.6.8/firebase-app.js"></script>

<!-- Todo: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/8.6.8/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.8/firebase-storage.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.8/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.8/firebase-firestore.js"></script

<script>
  // Your web app''s Firebase configuration
  // For Firebase JS SDK v7.20.0 and later,measurementId is optional
  var firebaseConfig = {
    apiKey: "cencored",authDomain: "cencored",projectId: "cencored",storageBucket: "cencored",messagingSenderId: "cencored",appId: "cencored",measurementId: "cencored"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();
</script>
</script><script src="main.dart.js" type="application/javascript"></script>
</body>

</html>

解决方法

对于 Flutter Web,Firebase 插件有一个新设置。
首先,按照此处提到的所有步骤https://firebase.flutter.dev/docs/installation/web

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>example</title>
</head>
<body>
  <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-messaging.js"></script>
  <script>
    // Your web app''s Firebase configuration
    var firebaseConfig = {
        apiKey: "...",authDomain: "[YOUR_PROJECT].firebaseapp.com",databaseURL: "https://[YOUR_PROJECT].firebaseio.com",projectId: "[YOUR_PROJECT]",storageBucket: "[YOUR_PROJECT].appspot.com",messagingSenderId: "...",appId: "1:...:web:...",measurementId: "G-...",};
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  </script>
  <script src="main.dart.js" type="application/javascript"></script>
  <script>
    var serviceWorkerVersion = null;
    var scriptLoaded = false;
    function loadMainDartJs() {
      if (scriptLoaded) {
        return;
      }
      scriptLoaded = true;
      var scriptTag = document.createElement(''script'');
      scriptTag.src = ''main.dart.js'';
      scriptTag.type = ''application/javascript'';
      document.body.append(scriptTag);
    }

    if (''serviceWorker'' in navigator) {
      // Service workers are supported. Use them.
      window.addEventListener(''load'',function () {
        //register firebase-messaging service worker
        navigator.serviceWorker.register("/firebase-messaging-sw.js");
        // Wait for registration to finish before dropping the <script> tag.
        // Otherwise,the browser will load the script multiple times,// potentially different versions.
        var serviceWorkerUrl = ''flutter_service_worker.js?v='' + serviceWorkerVersion;

        navigator.serviceWorker.register(serviceWorkerUrl)
          .then((reg) => {
            function waitForActivation(serviceWorker) {
              serviceWorker.addEventListener(''statechange'',() => {
                if (serviceWorker.state == ''activated'') {
                  console.log(''Installed new service worker.'');
                  loadMainDartJs();
                }
              });
            }
            if (!reg.active && (reg.installing || reg.waiting)) {
              // No active web worker and we have installed or are installing
              // one for the first time. Simply wait for it to activate.
              waitForActivation(reg.installing ?? reg.waiting);
            } else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
              // When the app updates the serviceWorkerVersion changes,so we
              // need to ask the service worker to update.
              console.log(''New service worker available.'');
              reg.update();
              waitForActivation(reg.installing);
            } else {
              // Existing service worker is still good.
              console.log(''Loading app from service worker.'');
              loadMainDartJs();
            }
          });

        // If service worker doesn''t succeed in a reasonable amount of time,// fallback to plaint <script> tag.
        setTimeout(() => {
          if (!scriptLoaded) {
            console.warn(
              ''Failed to load app from service worker. Falling back to plain <script> tag.'',);
            loadMainDartJs();
          }
        },4000);
      });
    } else {
      // Service workers not supported. Just drop the <script> tag.
      loadMainDartJs();
    }
  </script>
</body>
</html>

查看此设置 https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_messaging/firebase_messaging/example/web

Google App Script - 从 GOOGLE 工作表写入 CLOUD SQL

Google App Script - 从 GOOGLE 工作表写入 CLOUD SQL

如何解决Google App Script - 从 GOOGLE 工作表写入 CLOUD SQL

我正在尝试将 google 表格中的一列中的数据写入 cloud sql 中的一个表。

错误是:

“异常:参数(字符串)与 Jdbc.JdbcPreparedStatement.setString 的方法签名不匹配。”

在线

  1. stmt.setString('''' + copyData[i][0]);

我对谷歌应用程序脚本非常陌生,对 MysqL 的了解非常有限。大约 10 年前在大学学习了 Web 开发课程,此后一直没有看过。

我尝试使用的代码是:

  1. function WritetoDB() {
  2. var connectionName = ''xxx'';
  3. var user = ''xxx'';
  4. var userPwd = ''xxx1'';
  5. var db = ''TestDB'';
  6. var instanceUrl = ''jdbc:google:MysqL://'' + connectionName;
  7. var dbUrl = instanceUrl + ''/'' + db;
  8. var conn = Jdbc.getCloudsqlConnection(dbUrl,user,userPwd);
  9. conn.setAutoCommit(false);
  10. var SS_File = SpreadsheetApp.getActiveSpreadsheet();
  11. var SourceSheet = SS_File.getSheetByName("WorkSheet1");
  12. var headerRowNumber = 1;
  13. var copyData = SourceSheet.getDatarange().offset(headerRowNumber,SourceSheet.getLastRow() - headerRowNumber).getValues();
  14. var stmt = conn.prepareStatement(''INSERT INTO TestTable '' + ''(TestColumn) VALUES (?)'');
  15. for (var i = 0; i < copyData.length; i++) {
  16. stmt.setString('''' + copyData[i][0]);
  17. stmt.addBatch();
  18. }
  19. var batch = stmt.executeBatch();
  20. conn.comit();
  21. conn.close();
  22. var end = new Date();
  23. Logger.log(''Time elapsed: %s ms for %s rows.'',end - start,batch.length);
  24. }

连接正常,我可以通过应用程序脚本创建表等。就是不能写这个数据。

数据在电子表格的 A 列中,标题行为 1。

有人可以帮忙吗?

谢谢!

我试过了

  1. for (var i = 0; i < copyData.length; i++) {
  2. stmt.setobject(i,copyData[i][0]);
  3. stmt.addBatch();

错误:“异常:参数索引超出范围(0

&

  1. for (var i = 0; i < copyData.length; i++) {
  2. stmt.setobject(i+1,copyData[i][0]);
  3. stmt.addBatch();

错误:“异常:参数索引超出范围(2 > 参数数量,为 1)”

&

  1. for (var i = 0; i < copyData.length; i++) {
  2. stmt.setobject(i,copyData[i]);
  3. stmt.addBatch();

错误:“异常:无效的参数值:java.sql.sqlException”

卡住了。

解决方法

我想我尝试过使用批处理,但没有成功,所以我逐行进行,性能仍然不错。

我首先构建基本字符串:

  1. var stmtStr = "INSERT INTO TestTable (TestColumn) VALUES (";

然后使用循环中基本字符串的副本:

  1. for (var i = 0; i < CopyData.length; i++) {
  2. query = stmtStr + CopyData[i][0] + ")";
  3. stmt = conn.createStatement();
  4. iUpdate = stmt.executeUpdate(query);
  5. if (i==0) {
  6. console.log(query,iUpdate,CopyData[i][0]);
  7. }
  8. }
,

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!

供任何人在未来使用的工作代码。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!

我唯一的问题是云 SQL 超时限制。 - 正在努力解决这个问题,一旦我解决了问题,就会提供解决方案。

注意:确保源表中的值是字符串,没有公式。

我不得不使用 copy.to(xxx,{contentsonly:true}) 将值复制到另一张纸上。

  1. function WriteToDB() {
  2. var connectionName = ''YOUR_CONNECTION_NAME'';
  3. var user = ''YOUR_USERNAME'';
  4. var userPwd = ''YOUR_PASSWORD'';
  5. var db = ''YOUR_DATABASE'';
  6. var instanceUrl = ''jdbc:google:mysql://'' + connectionName;
  7. var dbUrl = instanceUrl + ''/'' + db;
  8. var conn = Jdbc.getCloudSqlConnection(dbUrl,user,userPwd);
  9. conn.setAutoCommit(false);
  10. var SS_File = SpreadsheetApp.getActiveSpreadsheet();
  11. var SourceSheet = SS_File.getSheetByName("YOUR_SHEET_NAME");
  12. var headerRowNumber = 1; // HOW MANY ROWS TO MISS
  13. var CopyData = SourceSheet.getDataRange().offset(headerRowNumber,SourceSheet.getLastRow() - headerRowNumber).getValues();
  14. var stmt = conn.prepareStatement("INSERT INTO YOUR_TABLE_NAME " + "(YOUR_COLUMN_NAME) VALUES (?)");
  15. for (var i = 0; i < CopyData.Length; i++) {
  16. stmt.setString(1,CopyData[i][0]);
  17. stmt.addBatch();
  18. }
  19. var batch = stmt.executeBatch();
  20. conn.commit();
  21. conn.close();
  22. }

我们今天的关于Google App Script:将值作为整数而不是小数传递谷歌javascript:void的分享就到这里,谢谢您的阅读,如果想了解更多关于angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在、Firestore 获取所有文档并在 Google App Script Web App 上显示为 HTML 表格 示例脚本:结果:注意:参考:、Flutter, FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app)、Google App Script - 从 GOOGLE 工作表写入 CLOUD SQL的相关信息,可以在本站进行搜索。

本文标签:

上一篇Flutter 错误:任务 ':app:compileFlutterBuildDebug(flutter 任务队列)

下一篇如何修复 npm ERR!运行 npx create-react-app 时找不到模块“./src/table”(npm is not recognized)