Tag: node.js

访问被拒绝创build电子表格Google节点API

我正在使用google节点API来生成电子表格。 我使用的第三方库是官方的( https://github.com/google/google-api-nodejs-client )。 以下是我用来生成电子表格的代码: var sheets = google.sheets('v4'); sheets.spreadsheets.create({ auth: auth, resource: { properties:{ title: "Google export" } } }, (err, response) => { if (err) { console.log('The API returned an error: ' + err); return; } else { console.log("Added"); res.send(response); } }); 它工作正常,并生成工作表,当我显示响应对象,我得到的电子表格的链接: spreadsheetUrl:“ https://docs.google.com/spreadsheets/d/1XS_QHxPUQcGqZGAzFHkHZV-RSKsv5IpJazcjVpLTYkk/edit ” 但是,当我尝试在浏览器中打开它时,我不能: You need permission 。 事情是,如果我点击Request accessbutton,我认为它实际上从我的凭据(user@project-174309.iam.gserviceaccount.com)发送一个请求到client_email […]

如何处理DeprecationWarning:未处理的承诺拒绝在量angular器中被弃用

我正在使用Typscript编写的页面对象Protractor框架,该框架应用了asynchronous/等待function。 我坚持茉莉花。 我正在testing使用Angular和Angular CLI构build的应用程序。 有一些情况下,一个元素在断言之前没有出现,因为这个问题没有作为断言的一部分处理,所以testing挂起了60秒,直到我收到一个jasmine.DEFAULT_TIMEOUT_INTERVAL错误。 我也收到以下depracationWarning从节点: (节点:9796)[DEP0018]弃用警告:不处理的承诺拒绝已被弃用。 将来,未处理的承诺拒绝将使用非零退出代码来终止Node.js进程。 正如您期望的那样,testing会导入所需的页面对象,并扩展常见的操作。 规格如下: it('should allow user to update bank acocunt number', async(done) => { await sideMenu.clickMenuItem(sideMenu.myDetailsOption); await sideMenu.clickMenuItem(sideMenu.bankDetailsOption); await bankDetailsPage.editAccountNumber('12345678'); await bankDetailsPage.isDisplayed(bankDetailsPage.confirmationOfUpdateText) .then(isVisible => expect(isVisible).toBeTruthy()) .then(done, done.fail); }, 60000); 我的第一个想法是赶上承诺拒绝,所以我做了以下修改: it('should allow user to update bank acocunt number', async(done) => { await sideMenu.clickMenuItem(sideMenu.myDetailsOption).catch(done.fail); await sideMenu.clickMenuItem(sideMenu.bankDetailsOption).catch(done.fail); await bankDetailsPage.editAccountNumber('12345678').catch(done.fail); await […]

试图访问实时数据库时,Firebase Node.jspipe理SDK超时

使用带有Firebase函数的Node.js admin SDK每当我尝试访问实时数据库时,都会收到一个超时值。 只有在本地testing函数( firebase serve –only functions,hosting仅适用firebase serve –only functions,hosting )以及使用functions.config().firebase firebase serve –only functions,hosting初始化默认应用程序时才会发生这种情况。 这是一个刚刚发生在几天前的新行为。 但是,如果我尝试使用serviceAccount.json文件初始化默认应用程序,则一切正常。 我正在使用firebase-admin版本4.2.1和firebase firebase-functions版本0.5.9 。 我写了一个简单的http triggered函数,由于超时而失败: const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); const db = admin.database(); exports.testDbConnection = functions.https.onRequest((req, res) => { return admin.database().ref().once('value') .then(function(snapshot) { res.json(snapshot); }).catch(function(error) { res.json(error); }); });

带有十进制数的node.js数字和knex中的舍入

在我的postgres表中,我有一个numeric (30,16)types的字段numeric (30,16) ,其中存储了许多小数的数字。 我需要计算这些数字。 我使用knex ,默认情况下,它返回这些值作为String所以为了有号码,我试过了: var types = require('pg').types types.setTypeParser(1700, 'text', parseFloat); 然而,这仍然是行不通的,例如从488.1456218300001000和我减去300我可以得到类似于188.1456218300001500 。 我需要做什么在node.js正确处理操作没有任何舍入错误?

502(坏的网关)时,做一个POST机器人

我只用HTTP-GET和普通的JS构build了一个非常简单的交互式BOT。 有时候我有BOT做时间密集型的处理,需要40秒才能回复。 在这种情况下,我得到了POST的下面的响应。 那么,这是预期的回报? 我做了什么样的改变,才能得到有意义的答复,而不是把这种情况看作是真正的错误? 任何其他build议来处理这种情况? 谢谢! 502 (Bad Gateway) { "error": { "code": "ServiceError", "message": "Failed to send activity: bot returned an error" } } 发布请求 //send token and message function sendMessage() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var responseObj = […]

将状态传递到回送oAuthcallback

我正在开发一个投票在我的网站上。 我只想要授权的用户投票。 所以我使用Facebook OAuthauthentication用户。 我的后端是build立在node.js和使用回环框架。 我正在使用passport-facebook lib执行所有授权的东西。 当用户按下投票button,后端检查用户是否被授权,并保存投票或否则redirect用户login页面。 一切都很好,但现在用户必须在授权后再次按下投票button。 我读到有一种方法可以将状态作为查询parameter passing到OAuthredirectURL。 这可以使用passport.js 完成 。 但是,回环隐藏实现,只提供静态jsonconfiguration。 至less我在docker和回购站里找不到任何提及。 所以我的问题是如何处理? 谢谢你的帮助。

如何在Angular 4 / expressJS服务器上直接运行项目(没有webpack)

现在我执行'build'和exec'ts-node ./src/index.ts': //////////index.ts import * as express from 'express'; import { join } from 'path'; import { json, urlencoded }from 'body-parser'; import BaseRoutes = require("./backend/services/newService"); var app : any = express(); app.use(express.static(join(__dirname + '/../dist/'))); app.use(json()); app.use(urlencoded({extended: true})); app.use('/api', new BaseRoutes().routes); app.get('*', function(req, res, next) { res.sendFile(join(__dirname + '/../index.html')); }); app.listen(3000); 所有的工作都很好,但是如何只运行expressJS服务器,只用原始文件编译项目(没有webpack)。 在推推的情况下我编译项目只压缩/ dist /文件,否则我想与原始文件工作 varibale […]

使用父ID将子JSON对象移动到它们自己的对象

我对JavaScript非常陌生,正在使用Node.JS访问API并将响应存储在SQL Server中。 我正在使用“请求”和“mssql”节点包。 我不重视这些,他们似乎是我所需要的,并有良好的文件和支持。 我的问题:我有以下格式的API的JSON响应: requests = [ { url: 'https://domain.zendesk.com/api/v2/requests/2.json', id: 2, status: 'closed', priority: 'normal', type: 'incident', subject: 'Test Ticket', description: 'Test ticket', organization_id: 10101010101, via: { channel: 'email', source: { from: { address: 'bill.bob@domain.com', name: 'Bill Bob' }, to: { name: 'Company Helpdesk', address: 'testzendesk@domain.com' }, rel: null }, }, custom_fields:[ { […]

aurelia自定义插件,使用自定义属性 – 不能find自定义属性

嗨,我已经从https://github.com/aurelia/skeleton-plugin下载了hello world aurelia skelton插件。 然后我从package.json文件中引用这个新的aurelia esnext / webpack skelton副本( https://github.com/aurelia/skeleton-navigation/tree/master/skeleton-esnext-webpack )作为我的主应用程序。 然后我可以在我的组件之一中使用插件 <require from="aurelia-skeleton-plugin/hello-world"></require> 在视图的顶部,并在视图的任何位置放置<hello-world></hello-world> 。 这工作很好。 下一步我想尝试添加一个自定义属性到我的插件。 在我的插件的src文件夹中,我添加了简单的自定义属性 export class RedSquareCustomAttribute { static inject = [Element]; constructor(element){ this.element = element; this.element.style.width = this.element.style.height = '100px'; this.element.style.backgroundColor = 'red'; } } 然后我用下面的代码在hello-world.html页面中引用它 <require from="./red-square"></require> <div red-square></div> 运行gulp生成,然后重新安装在我的主要应用程序包。 在主应用程序npm开始build立好,但浏览器给我的错误:无法find模块'./aurelia-skeleton-plugin/red-square' 我阅读了大量的文档,但没有给出这种情况的例子,任何帮助将不胜感激。

茉莉花function导出没有父对象,并在NODE中使用ES6导入

经过大量的研究,我找不到一种方法来模拟不带父对象的导出函数。 例如我试图模拟函数导出以下方式: module.exports = function thing(event) {}; 或在ES6 export function thing(event) {}; 在将这些文件导入到testing文件中时,我尝试像这样导入: import {thing} from 'emvio-util-responses; //call some function that calls thing() spyOn(???, 'thing').and.returnValue({}); expect(???.thing).toHaveBeenCalled(); 我已经尝试了很多方法来完成这一点,但模拟不被称为。 有些人build议导入*并提供一个别名作为父对象。 喜欢这个: import * as SomeObj from 'emvio-util-responses; //call some function that calls thing() spyOn(SomeObj , 'thing').and.returnValue({}); expect(SomeObj .thing).toHaveBeenCalled(); 这不起作用。 其他人则build议使用窗口对象 spyOn(window, 'thing').and.returnValue({}); 但是我在节点:(。