如何从Google Spreadsheet(Javascript)中检索(图片URL)?

时间:2018-08-22 19:31:30

标签: javascript spreadsheet

我正在尝试使用Javascript从Google Spreadsheet检索数据(图像)吗?

enter image description here

错误图片: enter image description here

 sheets.spreadsheets.values.get({
            auth: jwtClient,
            spreadsheetId: SPREADSHEET_ID,
            range: 'Sheet1',
            includeValuesInResponse: true,
        }, function(err, result) {
            if(err) {
            // Handle error.
                console.log(err);
            } else {
                console.log('%d cells appended.', JSON.stringify(result, null, 2));
            }
        });

我收到代码错误。

2 个答案:

答案 0 :(得分:0)

您要从电子表格的“ Sheet1”中检索超链接。如果我的理解是正确的,那么该修改如何?

修改点:

  • 您可以使用sheets.spreadsheets.get从工作表中检索超链接。在这种情况下,sheets/data/rowData/values/hyperlink用作字段。

修改后的脚本:

sheets.spreadsheets.get({
    auth: jwtClient,
    spreadsheetId: SPREADSHEET_ID,
    ranges: 'Sheet1',
    fields: "sheets/data/rowData/values/hyperlink",
  }, function(err, result) {
  if (err) {
    // Handle error.
    console.log(err);
  } else {
    console.log('%d cells appended.', JSON.stringify(result, null, 2));
  }
});

结果:

没有错误发生时,将返回如下所示的对象。

{
  "sheets": [
    {
      "data": [
        {
          "rowData": [
            {
              "values": [
                {
                  "hyperlink": "https://sample.com/img1.jpg"
                }
              ]
            },
            {
              "values": [
                {
                  "hyperlink": "https://sample.com/img2.jpg"
                }
              ]
            },
            {},
            {},
            {},
          ]
        }
      ]
    }
  ]
}

注意:

  • 此修改后的脚本假定您可以使用Sheets API。
  • 我不了解console.log('%d cells appended.', JSON.stringify(result, null, 2));。如果此行发生错误,请尝试以下脚本。
    • console.log(JSON.stringify(result.data, null, 2));

参考:

如果我误解了你的问题,对不起。

答案 1 :(得分:0)

我知道了:

async.series([
    function makeAnAuthorizedApiCall(callback){
        var {google} = require('googleapis');
        var sheets = google.sheets('v4');
        const storage = new Storage({ projectId: PROJECT_ID });        
        const jsonCredentialsFile = storage.bucket(BUCKET_NAME).file(SERVICE_ACCT_JSON_FILE);        
        retrieveFromGCStorage(jsonCredentialsFile).then(creds => {
            console.log("Credentials successfully obtained from Google Cloud Storage");
        var jwtClient = new google.auth.JWT(
            creds.client_email,
            null,
            creds.private_key,
            API_SCOPES, // an array of auth scopes
            null
        );
        jwtClient.authorize(function (err, tokens) {
            if (err) {
            console.log(err);
            return;
            }
        });