Tag: api

Google Calendar API Nodejs

我正在尝试使用Google Calendar API和NodeJS,因此我遵循官方教程: https : //developers.google.com/google-apps/calendar/quickstart/nodejs我来到步骤4:运行示例。 当我开始运行它时:node quickstart.js 它说: "No upcoming events found." 我不明白。 我如何访问此日历?

创build用户帐户时更正HATEOAS响应

我有一个使用HATEOAS的节点写的REST api。 用户需要有一个帐户,才可以访问它的大部分。 他们注册一个具有login详细信息的帐户,然后login以获取访问令牌,然后使用该令牌访问任何未register或login端点。 向根发出一个响应,并带有可用动作的目录。 问: register的正确答案是什么,告诉客户接下来可以做什么(即login)? register技术上在服务器上创build一个新的资源,所以一个201 CREATED和一个Location标题看起来是适当的。 但是, login引用不是新创build的资源的位置。 我应该返回201 Created与指向新创build的用户(例如/myaccount或/users/{id} ,然后在响应正文中包含一个login链接? { _links:{ 自我:{href:“这里有什么?” }, x:login:{href:“/ login”} } } 我是否根本不告诉客户,并要求他们去get应用程序根目录,以获取可用端点的列表。 无论如何,这应该包括login 。 假设客户端必须这样做,首先要获得register链接,它应该已经login 。 期望客户已经有login链接感到不舒服,因为它依赖于客户的先前活动的假设。 要求客户在注册后向根目录发出另一个请求似乎意味着低效和不必要。 如果客户端刚刚创build了一个资源,服务器应该用下一步可以做的事情做出回应似乎是公平的。

谷歌libphonenumber有问题的负载

我无法加载libphonenumber。 我得到这个我无法弄清楚的堆栈跟踪。 错误发生在需求行: var gp = require('google-libphonenumber').PhoneNumberUtil.getInstance(); number.js:1058 throw a; ^ AssertionError: Assertion failed at new goog.asserts.AssertionError (…../node_modules/google-libphonenumber/dist/libphonenumber.js:1051:20) at Object.goog.asserts.doAssertFailure_ (…./node_modules/google-libphonenumber/dist/libphonenumber.js:1068:7) at Object.goog.asserts.assert [as assert] (…./node_modules/google-libphonenumber/dist/libphonenumber.js:1075:53) at new goog.proto2.FieldDescriptor (…./node_modules/google-libphonenumber/dist/libphonenumber.js:1553:16) at Function.goog.proto2.Message.createDescriptor (…./node_modules/google-libphonenumber/dist/libphonenumber.js:2069:22) at i18n.phonenumbers.PhoneMetadata.getDescriptor (…./node_modules/google-libphonenumber/dist/libphonenumber.js:2946:117) at goog.proto2.Message (…./node_modules/google-libphonenumber/dist/libphonenumber.js:1897:23) at new i18n.phonenumbers.PhoneMetadata (…./node_modules/google-libphonenumber/dist/libphonenumber.js:2411:23) at Object.<anonymous> (…./node_modules/google-libphonenumber/dist/libphonenumber.js:4432:56) at Module._compile (module.js:435:26) number.js:1058 throw a; ^ AssertionError: Assertion […]

meteor:正确的方式发送POST请求到模数API

我有一个模块上的meteor应用程序托pipe。 模数在这里有一个API: https : //api.modulus.io/ API代码位于此处: https : //github.com/onmodulus/modulus-cli/blob/master/lib/librarian/librarian.js#L361 我想通过API将域保存到我的部署模块之一。 我知道这是我想要连接到的代码: https : //github.com/onmodulus/modulus-cli/blob/master/lib/librarian/librarian.js#L361 librarian.project.saveDomains = function(projectId, domains, authToken, callback) { if(checkInit(callback)) { librarian._http.request(util.format('/project/%s/domains?authToken=%s', projectId, authToken), 'POST', domains, callback); } }; 我是新来的API调用。 我相信我需要从我的meteor应用程序中的服务器调用,这可以使用meteor方法来处理,但我不知道API调用应该是什么样子。 我已经在线和在SO上进行了研究。 没有运气,我正在与API调用缺乏经验,所以我从一个小方向看。 我已经添加了meteor的http包: meteor add http 我想下面是在球场,但目前没有工作: POST javascript //save arguments object to options variable var options = { projectId: xxx, domains: […]

从REST API调用访问所有用户?

API调用只允许我一次只能获得1000个用户。 不过,我知道我有9800个用户。 我可以在URL中传入一个参数,在那里开始和最大的结果(限于1000)。 但是我需要把它们都拿走,不知道怎么去做。 我正在使用节点。 蓝鸟和请求NPM模块。 这是我的代码 /********************** MODULES/DEPENDENCIES **********************/ var express = require('express'); var request = require('request'); var Promise = require('bluebird'); var _ = require("lodash"); /********************** INITIATE APP **********************/ var app = express(); console.log("Starting node server…"); /** * @param url – The url to GET * HTTPS GET Request Function * @return Promise – […]

Node.js API在terminal中返回JSON,但不在浏览器中

有一个奇怪的问题。 一直在寻找答案,但没有出现。 我正在做一个节点的api教程,它会在我的terminal中从我的mongoDB数据库返回JSON,当我执行任何GET请求,但在我的浏览器或邮递员,我什么都没有回来,只有在terminal,我得到任何回应。 当我在邮递员尝试POST时,说它不能连接到后端。 这里是我的代码: var http = require('http'); var url = require('url'); var database = require('./database'); // Generic find methods (GET) function findAllResources(resourceName, req, res) { database.find('OrderBase', resourceName, {}, function (err, resources) { res.writeHead(200, {'Content-Type': 'application/json'}); res.end(JSON.stringify(resources)); }); }; var findResourceById = function (resourceName, id, req, res) { database.find('OrderBase', resourceName, {'_id': id}, function (err, […]

OUTLOOK REST API使用Node.js接受事件

我试图接受使用Rest API的事件,但我无法获得成功的响应,得到这样的答复:{“statusCode”:400,“body”:{“error”:{“code”:“ErrorInvalidRequest” ,“message”:“你的请求不能完成,因为你是会议组织者,所以你不能回应这个会议。”}。 代码试过,直到: function getCalendarOfUser(email, token, startDate, endDate, iCalUId, callback) { console.log("retrieved Start Date: "+startDate+" ,End date: "+endDate); // startDate = '2016-03-10T10:27:00'; //endDate = '2016-05-10T11:27:00'; console.log("Email found in cookie: ", email); console.log("start date : ", startDate + " end date : " + endDate); var optionsForGettingcalendars = { // uri: 'https://outlook.office365.com/api/v2.0/me/calendarview?startDateTime=' + startDate + […]

如何在Node.js中从cloudinary列出文件夹中的所有图像/video?

我是Node.js的新手。 我已经开始通过克隆github的cloudinary示例项目来构build一个应用程序。 然后我将工作目录更改为photo_album,并安装了应用程序所需的所有依赖项。 然后,根据我的要求做了一些更改,并制作了图像和video库应用程序。 1. 当我尝试列出名为 my_photos 的文件夹内的所有图像, 如cloudinary支持 cloudinary.api.resources(function(result){console.log(result)}, { type: 'upload', prefix: 'my_photos/' }); 然后,我得到这个错误 /home/fw66/WebstormProjects/cloudinary_npm/samples/photo_album/node_modules/cloudinary/lib/utils.js:1023 return callback(void 0, result); ^ TypeError: object is not a function at /home/fw66/WebstormProjects/cloudinary_npm/samples/photo_album/node_modules/cloudinary/lib/utils.js:1023:18 at IncomingMessage. (/home/fw66/WebstormProjects/cloudinary_npm/samples/photo_album/node_modules/cloudinary/lib/api.js:103:51) at IncomingMessage.emit (events.js:117:20) at _stream_readable.js:944:16 at process._tickCallback (node.js:458:13) /home/fw66/WebstormProjects/cloudinary_npm/samples/photo_album/node_modules/cloudinary/lib/utils.js:1023 return callback(void 0, result); ^ TypeError: object is not a function at […]

最佳做法与第三方API运行长工作(javascript,node.js)同步

首先,我对javascript和node.js很陌生。 所以很有可能会有一些很好的和简单的解决scheme来解决我的问题。 我有一个小的node.js应用程序调用第三方(REST)API来启动作业。 作为API的回应,我只能得到一个可以用来请求当前工作状态的键。 有两个相关的工作,所以我需要同步他们的开始。 例: 作业A和B.他们可以开始调用这些API: http:// host / start / A resp。 HTTP://主机/启动/ B 上面的API返回的东西是这样的: { "job":"A", "key":"someRandomKey" } 然后还有另一个API来检查任何作业的状态: http:// host / status / someRandomKey 作为这个API的结果,我得到: { "key":"someRandomKey", "status":"[RUNNING|SUCCESSFUL|FAIL]" } 只有在工作成功完成后,我才能开始工作B. 而现在的问题是: 如何有效地同步工作A的状态? 一旦工作A开始(我得到工作密钥),我可以启动一个循环,定期检查工作A的状态,直到它不成功。 在这里,我可能会使用超时,每10秒检查一次。 但我不敢相信,没有一些图书馆或工具可以为我提供更好的方式。 这里有什么build议?

请求堆栈溢出API返回怪异的响应

我正在使用下面的代码来调用堆栈溢出API: var request = require('request'); var url = 'http://api.stackexchange.com/2.2/search?order=desc&sort=activity&tagged=node.js&intitle=node.js&site=stackoverflow'; request({ headers: { 'Accept': 'application/json; charset=utf-8', 'User-Agent': 'RandomHeader' }, uri: url, method: 'GET' }, function(err, res, body) { console.log("response.statusCode" + res.statusCode); console.log("response.headers" + JSON.stringify(res.headers)); console.log("res" + JSON.stringify(res)); console.log("resParse" + JSON.parse(res)); }); } 这段代码以奇怪的字符的forms返回响应: res{"statusCode":200,"body":"\u001f \b\u0000\u0000\u0000\u0000\u0000\u0004\u0000 { H \n I ]M ̬U 5ݳ7= 3 ک mݝN L […]