FormatException:意外字符(在字符1处)

时间:2020-06-11 12:11:15

标签: flutter google-sheets google-speech-api

我正在扑腾,人们将在其中输入所有信息,并将这些信息传递到Google Sheet。 但是当我尝试传递数据时,我收到以下错误:

 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);

}

将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

问题:

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

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

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

解决方案:

修正拼写错误并改用这种方式打开电子表格:

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

参考: