Google API 如何从结果中获取一个变量
Posted
技术标签:
【中文标题】Google API 如何从结果中获取一个变量【英文标题】:Google API how do I get one variable from my result 【发布时间】:2021-09-09 22:46:32 【问题描述】:我想将subscriberCount: '15'
隔离到它自己的变量中,但我在这里所做的一切都是我拥有的所有数据(出于安全原因,有些数据被审查)请尝试帮助我!
代码
const Youtube = require("youtube-api")
, fs = require("fs")
, readJson = require("r-json")
, Lien = require("lien")
, Logger = require("bug-killer")
, opn = require("opn")
, prettyBytes = require("pretty-bytes")
;
// I downloaded the file from OAuth2 -> Download JSON
const CREDENTIALS = readJson(`$__dirname/credentials.json`);
// Init lien server
let server = new Lien(
host: "localhost"
, port: 5000
);
// Authenticate
// You can access the Youtube resources via OAuth2 only.
// https://developers.google.com/youtube/v3/guides/moving_to_oauth#service_accounts
let oauth = Youtube.authenticate(
type: "oauth"
, client_id: CREDENTIALS.web.client_id
, client_secret: CREDENTIALS.web.client_secret
, redirect_url: CREDENTIALS.web.redirect_uris[0]
);
opn(oauth.generateAuthUrl(
access_type: "offline"
, scope: ["https://www.googleapis.com/auth/youtubepartner-channel-audit https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtubepartner-channel-audit https://www.googleapis.com/auth/youtube.readonly"]
));
// Handle oauth2 callback
server.addPage("/oauth2callback", lien =>
Logger.log("Trying to get the token using the following code: " + lien.query.code);
oauth.getToken(lien.query.code, (err, tokens) =>
if (err)
lien.lien(err, 400);
return Logger.log(err);
Logger.log("Got the tokens.");
oauth.setCredentials(tokens);
lien.end("Eyyy you logged in!");
// var req = Youtube.videos.insert( );
function execute()
return Youtube.channels.list(
"part": [
"statistics"
],
"mine": true,
"prettyPrint": true
)
.then(function(response)
// Handle the results here (response.result has the parsed body).
//console.log("Response", response);
//console.log(typeof response.data.items);
//console.log(response.data.items);
//console.log(result);
console.log(response.data.items);
//console.log(response.statistics);
,
function(err) console.error("Execute error", err); );
execute();
);
);
来自谷歌的回应:
[
kind: 'youtube#channel',
etag: '*****',
id: '*****',
statistics:
viewCount: '506',
subscriberCount: '15',
hiddenSubscriberCount: false,
videoCount: '12'
]
【问题讨论】:
你想在哪里做任何事? 我在这里没有任何工作 ...在哪里?哪里没用? 您在代码中的哪个位置做了一些不起作用的事情?我看不出应该在哪里完成,所以我要求你指向你想要完成的代码行response.data.items
是一个数组,从你的问题来看,......所以你需要response.data.items[0].statistics.subscriberCount
@DaImTo - 不,谢谢,花了太长时间才获得足够的信息来猜测问题:p
【参考方案1】:
Jaromanda X给出了解决方案in a comment:
response.data.items
是一个数组,从你的问题来看,......所以你需要response.data.items[0].statistics.subscriberCount
【讨论】:
如果您想发表评论作为答案,通常的做法是引用评论(如您所做的那样),并附上评论和用户个人资料的链接,并可能标记答案作为社区 Wiki(您仍然可以在编辑页面中这样做)以上是关于Google API 如何从结果中获取一个变量的主要内容,如果未能解决你的问题,请参考以下文章
从 google book api 获取缩略图到 python 变量
如何从 google gmail js api 获取小于 10 MB 的消息?