谷歌表格提供了使用apikey的JavaScript选项,但不起作用

时间:2017-12-07 18:02:32

标签: javascript authentication oauth google-sheets-api

我正在尝试将四点数据发送到我正在开发的网站的电子表格中。姓名,电子邮件,主题,消息。

function loadClient() {
      gapi.client.setApiKey(myapikey);
      return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/sheets/v4/rest")
          .then(function() {
            console.log("GAPI client loaded for API");
          }, function(error) {
            console.error("Error loading GAPI client for API");
          });
    }
    // Make sure the client is loaded before calling this method.
    function execute() {
      return gapi.client.sheets.spreadsheets.values.append({
        "spreadsheetId": mysheetid,
        "range": "a1",
        "includeValuesInResponse": "false",
        "insertDataOption": "INSERT_ROWS",
        "responseDateTimeRenderOption": "SERIAL_NUMBER",
        "responseValueRenderOption": "FORMATTED_VALUE",
        "valueInputOption": "RAW",
        "resource": {
          "values": [
            [
              "test@text.com",
              "jimmy clarke",
              "subject",
              "this is a test email"
            ]
          ]
        }
      })
          .then(function(response) {
            // Handle the results here (response.result has the parsed body).
            console.log("Response", response);
          }, function(error) {
            console.error("Execute error", error);
          });
    }
    gapi.load("client");
  </script>

我希望它能够毫无错误地将数据发送到谷歌表。

它告诉我,这只能使用oauth发送。

我宁愿不使用oauth。我的主要痛点是,当我查看(谷歌制作)模板时,它允许使用api密钥,但是当我运行代码时我收到并收到此错误

  

对象{           结果:{...},           正文:“{\ n \”错误\“:               {\ n \“code \”:401,\ n \“message \”:\“请求缺少必需的身份验证凭据。预期的OAuth 2访问令牌,登录cookie或其他有效的身份验证凭据。请参阅https://developers.google.com/identity/sign-in/web/devconsole-project。\ “,\ n \”status \“:”UNAUTHENTICATED \“\ n} \ n} \ n”,标题:{...},状态:401,statusText:“未经授权”}

我可能在设置时犯了错误吗?

1 个答案:

答案 0 :(得分:0)

我可能已经找到了答案,我相信这是因为我离开了 电子表格是私人的,这需要使用oauth。