gpt4 book ai didi

node.js - google api 的刷新 token 在 nodejs 中无法正常工作

转载 作者:搜寻专家 更新时间:2023-10-31 23:11:49 24 4
gpt4 key购买 nike

我正在使用 google api nodejs ,我尝试从 google Anaytics 获取数据

var google = require('googleapis');
var OAuth2Client = google.auth.OAuth2;
var CLIENT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var CLIENT_SECRET = 'xxxxxxxxxxxxxxxxxxxxxx';
//var REDIRECT_URL = 'http://yieldops.co/oauth2Callback';
var REDIRECT_URL = 'http://localhost:8000/oauth2Callback';
var oauth2Client = new OAuth2Client(CLIENT_ID, CLIENT_SECRET,REDIRECT_URL);

var credentials={}
credentials.expiry_date= "1463514280558",
credentials['refresh_token']="aaaaaaaaa"
credentials['access_token']="aaaaaaaaaaaaaaa"
oauth2Client.setCredentials(credentials)

var gauth = {
'auth': outh2Client,
'ids': 'ga:101' ,
'start-date': '2016-01-01',
'end-date': 'today',
'metrics': 'ga:impressions,ga:sessions,ga:pageviews',
'dimensions': 'ga:date'
}

analytics.data.ga.get(gauth, function (err, gaData) {
console.log("err 1234",err)
console.log("gaData ",gaData)
//console.log("ga",Object.keys(gaData))
})

注意现在的问题是,如果访问 token 没有过期,它就会给我数据,如果访问 token 过期,它就会给我 400 error Invalid grant 。如果我从凭据中删除 expiry_date 那么它会给我错误

{ [Error: Invalid Credentials]
code: 401,
errors:
[ { domain: 'global',
reason: 'authError',
message: 'Invalid Credentials',
locationType: 'header',
location: 'Authorization' } ] }

最佳答案

access_token 的过期时间是 1 小时。 access_token 过期后必须刷新。

oauth2Client.refreshAccessToken(function(err, tokens) {
// your access_token is now refreshed and stored in oauth2Client
// store these new tokens in a safe place (e.g. database)
});

你能找到吗here

关于node.js - google api 的刷新 token 在 nodejs 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37286529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com