You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过NativeScript访问Google Sheets?需用哪些G-API库?

用NativeScript访问Google Sheets(已完成Google认证)

所需工具/库

不需要额外的NativeScript专属G-API库,直接用NativeScript内置的fetch API,或者第三方HTTP库如@nativescript/axios即可——Google Sheets API是标准REST接口,拿到认证令牌后直接发起HTTP请求就能调用。

后续操作步骤

1. 确认认证权限范围

首先检查你在使用@nativescript/google-signin时是否请求了Google Sheets的相关权限:

  • 只读访问:https://www.googleapis.com/auth/spreadsheets.readonly
  • 读写访问:https://www.googleapis.com/auth/spreadsheets

如果之前没配置这些scope,需要修改google-signin的初始化代码,添加对应scope后重新完成认证,确保令牌包含所需权限。

2. 调用Google Sheets REST API

用你已获取的访问令牌(accessToken),在HTTP请求头中携带Authorization: Bearer <你的accessToken>,直接调用Sheets API的端点。

示例1:读取表格数据

// 替换为你的实际数据
const accessToken = "your-access-token";
const spreadsheetId = "your-spreadsheet-id";
const range = "Sheet1!A1:C10"; // 要读取的单元格范围

fetch(`https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/${range}`, {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${accessToken}`,
    "Content-Type": "application/json"
  }
})
.then(res => {
  if (!res.ok) throw new Error(`请求失败: ${res.statusText}`);
  return res.json();
})
.then(data => {
  console.log("表格数据:", data.values);
  // 在这里处理返回的行数据
})
.catch(err => {
  console.error("读取出错:", err);
  // 若报错是令牌过期,调用@nativescript/google-signin的刷新方法获取新令牌
});

示例2:写入/更新表格数据

const updatePayload = {
  values: [
    ["新内容1", "新内容2"],
    ["新内容3", "新内容4"]
  ]
};

fetch(`https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/${range}?valueInputOption=USER_ENTERED`, {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${accessToken}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify(updatePayload)
})
.then(res => res.json())
.then(data => console.log("更新成功:", data))
.catch(err => console.error("更新出错:", err));

3. 处理令牌有效期

Google访问令牌默认有效期为1小时,过期后需要刷新:

  • 利用@nativescript/google-signin提供的刷新令牌方法(如refreshToken())获取新的accessToken
  • 建议在发起API请求前先校验令牌有效期,或在请求失败(401错误)时自动触发刷新

4. 额外配置检查

确保你的Google Cloud Console中:

  • 已启用Google Sheets API
  • OAuth客户端ID的配置与你的NativeScript项目一致(iOS的Bundle ID、Android的包名)

内容的提问来源于stack exchange,提问作者Dimitris Giorgos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:12:18