首页 > 解决方案 > FormatException:意外字符(在字符 1 处)

问题描述

我正在制作表格,人们将在其中输入所有信息,并且该信息将传递给谷歌表格。但是当我尝试传递数据时,我收到以下错误:

 I/flutter (23770): FormatException: Unexpected character (at character 1)
I/flutter (23770): <!DOCTYPE html><html><head><link rel="shortcut icon" href="//ssl.gstatic.co...
I/flutter (23770): ^

我的 API 调用代码如下:

    import 'package:fooddeliveryapp/model/Customer_Information.dart';
import 'package:http/http.dart' as http;
import 'dart:convert' as convert;

class InformationController {
  final void Function(String) callback;

  static const String URL =
      "https://script.google.com/macros/s/AKfycbxuNeIu5cibZHs9sXM6vsl-X5Cf7muMP18xRiDCRXNDF--z0y8o/exec";
  static const STATUS_SUCCESS = "SUCCESS";
  InformationController(this.callback);

  void submitCustomerInformation(
      CustomerInformation customerInformation) async {
    try {
      await http.get(URL + customerInformation.toParams()).then((response) {
        callback(convert.jsonDecode(response.body)['Status']);
      }); 

    } catch (e) {
      print(e);
    }
  }
}

以下是我的电子表格脚本编辑器代码:

    function doGet(request) {
  var sheet=spreadsheetApp.openById("1UWt6IVRcebqErf4mjURKAY-_oC7dBMtbOx1CQ8cfW0Q");
  var result={"status": "SUCCESS"};

  try{

  var Name=request.parameter.Name;
  var PhoneNumber=request.parameter.PhoneNumber;
    var Address=request.parameter.Address;

    var rowData=sheet.appendRow([Name,PhoneNumber,Address]);

  }catch(exc){


    result={"Status":"FAILED","message":exc};
  }

  return ContentService
         .createTextOutput(JSON.stringify(result))
  .setMimeType(ContentService.MimeType.JSON);

}

帮助将不胜感激,谢谢!

标签: fluttergoogle-sheetsgoogle-speech-api

解决方案


问题:

doGetspreadsheetApp因为未定义而引发参考错误:这是一个错字;应该改为SpreadsheetApp,首字母大写。

因此,对 Web 应用程序的请求将返回错误页面,而不是您期望的文本输出。

如果您尝试使用浏览器访问脚本 URL,您可以检查发生了什么。

解决方案:

修正错字并以这种方式打开电子表格:

var sheet = SpreadsheetApp.openById("1UWt6IVRcebqErf4mjURKAY-_oC7dBMtbOx1CQ8cfW0Q");

参考:


推荐阅读