gpt4 book ai didi

javascript - 如何使用 blogger api nodejs 插入帖子

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

根据 Docs,我已经在 request call 上验证了我的应用程序并尝试插入一个帖子:

var blogger = google.blogger('v3');
app.post('/creatGoogleBloggerPost', function(req, res, next){
console.log('creatGoogleBloggerPost called');
var oauth2Client = new google.auth.OAuth2();
var key = require('./public_html/SoulSeeker2-1bxxxaaa727d.json');
var jwtClient;

jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/blogger'], null);
jwtClient.authorize(function(err, tokens) {
console.log('retrieved tokens.access_token from google', tokens.access_token);
google.options({
auth: jwtClient
});
if (err) {
console.log(err);
return;
} else {
blogger.posts.insert({
auth: jwtClient,
blogId: '4113791741191234135',
resource: {
title: 'Sample rootscope',
content: 'Content rootscope'
}
}, function(){
console.log('success');
});
}
});
});

我正在取回 token ,它还会打印回调 success message 但是,当我检查博客时没有插入任何帖子。也没有错误。这里可能出了什么问题?

更新:

实际上 google-blogger-api 不接受服务帐户 token 。所以修改我的代码以使用 oauth2.0node-passport 但仍然出现 login error:

blogger.posts.insert({
Authorization: 'Bearer ' +USERS.accessToken,
blogId: '4113796741591234135',
resource: {
title: 'Sample rootscope',
content: 'Content rootscope'
}
}, function(err, reponse){
if(err){
console.log('error ', err);
} else {
console.log('blog post success in google blogger' , reponse);
}
});

我已经通过了 auth token 但我现在得到这样的错误:

error  { [Error: Login Required]
code: 401,
errors:
[ { domain: 'global',
reason: 'required',
message: 'Login Required',
locationType: 'header',
location: 'Authorization' } ] }

我用的是官方谷歌blogger api .我想我没有在 header 中传递 token 。如何正确传递 token 以解决此问题?

最佳答案

实际的问题是我不能传递原始的access token,我需要像这样包装它:

authObj = new  google.auth.OAuth2();
authObj.setCredentials({
access_token: USERS.accessToken
});

blogger-api 显然没有记录上面的“包装部分”

然后在下面的调用中传递它,如 auth:authObj 所示:

blogger.posts.insert({
auth: authObj,
blogId: '4113796741591234135',
resource: {
title: 'Sample rootscope',
content: 'Content rootscope'
}
}, function(err, reponse){
if(err){
console.log('error ', err);
} else {
console.log('blog post success in google blogger' , reponse);
}
});

关于javascript - 如何使用 blogger api nodejs 插入帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43509803/

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