在处理Google Sheets脚本的OAuth客户端授权问题时,可能会遇到“客户端被删除”的错误。这种情况通常是由于以下几个原因造成的:
以下是一个简单的Google Apps Script示例,用于创建一个OAuth服务并授权访问Google Sheets:
function createOAuthService() {
var scriptProperties = PropertiesService.getScriptProperties();
var clientId = scriptProperties.getProperty('clientId');
var clientSecret = scriptProperties.getProperty('clientSecret');
if (!clientId || !clientSecret) {
throw new Error('Please set the client ID and secret in the script properties.');
}
var service = OAuth2.createService('GoogleSheetService')
.setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth')
.setTokenUrl('https://accounts.google.com/o/oauth2/token')
.setClientId(clientId)
.setClientSecret(clientSecret)
.setPropertyStore(PropertiesService.getScriptProperties())
.setScope('https://www.googleapis.com/auth/spreadsheets');
if (!service.hasAccess()) {
var authorizationUrl = service.getAuthorizationUrl();
Logger.log('Open the following URL and re-run the script: %s', authorizationUrl);
return;
}
return service;
}
function getSheetData() {
var service = createOAuthService();
if (!service) return;
var spreadsheetId = 'YOUR_SPREADSHEET_ID';
var range = 'Sheet1!A1:D10';
var response = UrlFetchApp.fetch(
'https://sheets.googleapis.com/v4/spreadsheets/' + spreadsheetId + '/values/' + range,
{
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
}
}
);
var data = JSON.parse(response.getContentText());
Logger.log(data);
}
通过以上步骤,您应该能够解决OAuth客户端被删除的问题,并确保Google Sheets脚本能够正常授权和运行。
领取专属 10元无门槛券
手把手带您无忧上云