我正在尝试使用“mirror-api-subscription”事件侦听器注册 TAKE_A_NOTE。我没有任何运气:我可以使用“我的应用程序”启动记笔记,但是,没有控制台日志表明该事件已被识别。
我想识别 TAKE_A_NOTE 函数何时发生或完成,并随后处理响应。我不知道订阅是否应该在流上,或者我是否以错误的方式实现了 EventListener。我们将非常感谢您的帮助。
我正在使用的代码是:
// 参考
// http://www.recursiverobot.com/post/57348836217/getting-started-with-the-mirror-api-using-node-js
// https://www.npmjs.org/package/mirror-api-subscription
var express = require('express')
, http = require('http')
, https = 要求('https')
, fs = 要求('fs')
, googleapis = require('googleapis')
, OAuth2Client = googleapis.OAuth2Client;
var 应用程序 = Express();
var oauth2Client = new OAuth2Client(process.env.MIRROR_DEMO_CLIENT_ID,
process.env.MIRROR_DEMO_CLIENT_SECRET、process.env.MIRROR_DEMO_REDIRECT_URL);
// 所有环境
app.set('端口', 8888);
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
应用程序.use(应用程序.路由器);
var getToken = 函数 () {
谷歌API
.discover('镜像', 'v1')
.execute(函数(错误,客户端){
如果(!!错误){
失败();
返回;
}
insertContact(客户端、失败、成功);
insertSubscription(客户端、失败、成功);
});
};
var insertContact = function (client, errorCallback, successCallback) … javascript node.js google-glass google-mirror-api google-api-nodejs-client
您可以重命名 Google Cloud Storage 中的文件吗?
我让用户上传照片,但我想让他们能够编辑照片,至少通过更改他们上传照片的名称。我正在通过 Node.js 使用 Javascript。
谢谢!
javascript node.js google-cloud-storage google-api-nodejs-client google-cloud-platform
我正在使用 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))
})
Run Code Online (Sandbox Code Playgroud)
注意 现在的问题是,如果访问令牌没有过期,那么它会给我数据,如果访问令牌过期,那么它会给我400 错误 Invalid grant …
我正在为 SPA js+nodejs 应用程序测试 google singin。我添加了这个:
<script src="https://apis.google.com/js/platform.js" async defer></script>
Run Code Online (Sandbox Code Playgroud)
还有这些:
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
<div class="g-signin2" data-onsuccess="onSignIn"></div>
Run Code Online (Sandbox Code Playgroud)
在 html5/js 客户端。遵循本指南:
https://developers.google.com/identity/sign-in/web/sign-in
当用户对库进行身份验证时,将获取令牌并将其传递给服务器,如下所述:
https://developers.google.com/identity/sign-in/web/backend-auth
在服务器端 (nodejs) 使用此函数验证令牌:
client.verifyIdToken(
token,
CLIENT_ID,
// Or, if multiple clients access the backend:
//[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3],
function(e, login) {
var payload = login.getPayload();
var userid = payload['sub'];
// If request specified a G Suite domain:
//var domain = payload['hd'];
});
Run Code Online (Sandbox Code Playgroud)
我的问题是:client_secret 何时使用?因为我使用 CLIENT_ID 前端从谷歌获取身份验证令牌,然后我使用 CLIENT_ID 服务器端进行令牌验证。我认为可以使用仅在服务器端已知的 client_secret(即 SECRET)来验证令牌,因此没有其他人可以获取令牌来验证该用户。我错过了什么?
我正在使用Google Api Nodejs 客户端,并且经常收到 API 调用超时的情况(我的请求的最大部分是在 Gmail Api 上)。我可以同时执行一些 Google Cloud SQL 请求,因此这似乎不是我的服务器上的网络问题。您可以在下面找到我日志中的一些超时。
{"code":"ETIMEDOUT","errno":"ETIMEDOUT","syscall":"connect","address":"216.58.219.234","port":443}
{"code":"ETIMEDOUT","errno":"ETIMEDOUT","syscall":"connect","address":"216.58.219.202","port":443}
{"code":"ETIMEDOUT","errno":"ETIMEDOUT","syscall":"connect","address":"209.85.201.95","port":443}
Run Code Online (Sandbox Code Playgroud)
有什么办法可以避免这些超时吗?可以指定要检索的字段,这些字段是否可以减少超时量?
我有时会从 google api 收到一些 429 或 500 结果代码,这很好也很正常(根据文档),但这些超时根本不是我所期望的。
尝试使用此处定义的服务器到服务器 OAuth 流程:https : //developers.google.com/identity/protocols/OAuth2ServiceAccount
由于我在本地开发环境中运行,因此我在 GCP 中创建了一个服务帐户并使用私钥下载了 JSON 文件,但找不到任何关于如何:1) 加载 json 文件的 Node.js 代码示例) 设置委托凭据(用于 G Suite 域范围授权)
我看过的地方(除了 stackoverflow)是 Google 的 node.js 客户端库的 git wiki,它确实讨论了服务器到服务器的身份验证,但似乎假设您从 appengine 或 google cloud 运行并且不需要加载一个密钥文件:https : //github.com/googleapis/google-api-nodejs-client#service-to-service-authentication
Admin SDK 活动报告 API 有一个 Node 示例,但它使用基于 Web 的流程(假设用户存在):https : //developers.google.com/admin-sdk/reports/v1/quickstart/nodejs
在 Node.js 示例中深埋的是 Directory API 的使用,它似乎以密钥文件作为输入,但是当我尝试在本地运行时,它说 getClient 不是构造函数,并且这个示例仍然没有显示如何设置上下文的 G Suite 管理员用户(通常是将刷新令牌和访问令牌加载到应用程序中时):https : //github.com/googleapis/google-api-nodejs-client/blob/master/samples/directory_v1 /group-delete.js
所以......有人有这样的例子吗?我真的不想切换到 Python 运行时,但 Google 似乎遗漏了有关此主题的重要示例。
现在,在谷歌语音到文本API中,我正在做我想做的一切,除了当我想要的时候停止现在我已经尝试在API中调用函数stop()、pause(),其中八个不起作用
const record = require('node-record-lpcm16');// Imports the Google Cloud client library
const speech = require('@google-cloud/speech');// Creates a client
const client = new speech.SpeechClient();const encoding = 'LINEAR16';
const sampleRateHertz = 16000;
const languageCode = 'en-US';const request = {
config: {
encoding: encoding,
sampleRateHertz: sampleRateHertz,
languageCode: languageCode,
},
interimResults: false,
};// Create a recognize stream
const recognizeStream = client
.streamingRecognize(request)
.on('error', console.error)
.on('data', data =>
process.stdout.write(
data.results[0] && data.results[0].alternatives[0]
? `Transcription: ${data.results[0].alternatives[0].transcript}\n`
: `\n\nReached transcription time limit, press Ctrl+C\n`
)
);// Start …Run Code Online (Sandbox Code Playgroud) google-api node.js google-api-nodejs-client electron google-speech-to-text-api
我们可以从谷歌日历设置中获取工作时间数据吗?我已经浏览过日历的API
: https: //developers.google.com/calendar/v3/reference/settings/get
但没有得到所需的数据。附上图片以供参考
我能够成功地向 IAP 后面托管的服务发出 GET 请求,但在以相同方式发出 POST 请求时遇到问题。另外,我找不到任何相同的文档。所有示例似乎都是针对 GET 请求。
我正在尝试使用 Node js 在 google bigquaey 中插入、删除、搜索和更新。我已经跟进了google中的所有文档。但没有提到如何连接 - 所以我创建了这个,--
如何将 GCP BigQuery 与 NodeJS 连接。我刚来这地方。任何帮助都会起作用。
我写的代码 -
const {BigQuery} = require('@google-cloud/bigquery');
const mainFunction = () => {
insertIntoBigQuery("John", "john@gmail.com", "+1-23232344231");
}
async function insertIntoBigQuery(name, email, phone) {
// const insertIntoBigQuery = async(name, email, phone) => {
const bigqueryClient = new BigQuery();
// The SQL query to run
const sqlQuery = "INSERT INTO `p4tyu78.Backend_testing.Test1` VALUES ("+name+ "," +email+","+ phone+")";
const options = {
query: sqlQuery,
// Location must match that of …Run Code Online (Sandbox Code Playgroud) node.js google-bigquery google-api-nodejs-client google-cloud-platform
node.js ×7
google-api ×3
javascript ×3
google-oauth ×2
calendar ×1
electron ×1
google-glass ×1