Tag: google api

如何将经过authentication的RESTful oAuth 2后端请求发送到Google API

我需要使用后端oAuth 2 REST调用Google Node Prediction API ,工作在node.js中,但是围绕做出正确的oAuth调用的文档(没有webstreamauthenticationstream程的后端)让我感到非常困惑: 请求看起来像这样: GET https://www.googleapis.com/prediction/v1.6/projects/989280437849/trainedmodels/list?maxResults=5&pageToken=1&key={YOUR_API_KEY} 看起来像这样的标题 授权:持票人ya29.AHES6ZSyB5W2gp4GfmZIGrVHLyisJB9hCbNLW3mj5rs0Oqg X-JavaScript-User-Agent:Google API资源pipe理器 oAuth文档在这里,说我需要一个“服务帐户”: https : //developers.google.com/accounts/docs/OAuth2? csw = 1 并在这里https://developers.google.com/accounts/docs/OAuth2ServiceAccount 我应该设置什么样的oAuth令牌? http://screencast.com/t/1vXjCgnyCuU2 我认为这是“服务器密钥”,但文档说,预测API需要以用户身份login,而服务器键说:“使用这个访问数据与服务器帐户不关联” 我相信我应该使用“证书”选项http://screencast.com/t/4sL1WTjxqp 但我不知道如何处理证书。 即使我知道,我仍然不会有一个API密钥(或者我?),REST调用似乎想要的。 据推测,我需要以某种方式签署请求,并在标题中提交散列。 任何帮助如何一步一步做到这一点将非常感激。

无法获取谷歌驱动器的刷新令牌(谷歌API v2)

试图让我的应用程序访问谷歌驱动器的刷新令牌。 我执行指南中的所有步骤: https://developers.google.com/drive/web/quickstart/quickstart-nodejs 去URL > https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.file&respon > se_type=code&client_id=…&redirect_uri=http%3A%2F%2Fl > ocalhost&approval_prompt=force 把代码放在getTocket中,总是得到只包含access_token的响应, 不用refresh_token : { access_token: '…', token_type: 'Bearer', expires_in: 3600 } 可能是什么问题? 我使用客户端(clientId)来访问youtube API(v2),并且我得到了更新的令牌。 我试图创build另一个clientId,但仍然无法获得刷新令牌。 我试图使用刷新令牌,我用你的谷歌驱动器的API,但它似乎不工作。 =(

NodeJS Google API客户端:我如何知道访问令牌已过期?

我正在使用Nodejs Google API客户端Oauth进程。 我遵循oauth的代码示例, https://github.com/google/google-api-nodejs-client/blob/master/examples/oauth2.js 。 我有一个问题。 如何检查访问令牌是否过期,以及如何使用刷新令牌再次获取另一个访问令牌? 更具体地说,让我们说访问谷歌+用户configuration文件,所以我使用访问令牌来获取用户configuration文件: getAccessToken(oauth2Client, function() { // retrieve user profile getUserProfile(client, oauth2Client, 'me', function(err, profile) { if (err) { console.log('An error occured', err); return; } console.log(profile.displayName, ':', profile.tagline); }); }); 此外,在应用程序的客户端(backbonejs),如果我正在尝试使用谷歌API的JS客户端访问谷歌驱动器API(不谷歌加),我不知道我是否可以使用我得到的访问令牌应用程序(nodejs)的服务器端,或者我必须使用谷歌api JS客户端做另一个OAuth。

Google API为批量请求返回400个BadRequest

我正尝试使用对nodejs的请求将请求发送到GMail API 。 问题是甚至槽我生成相同的查询,在文档中,gmail总是响应400的BadRequest 这些是我的JSONforms的标题 { 'Content-Type': 'multipart/mixed; boundary=c2db2692-8877-4159-bf02-03e6c5d3ffbf', authorization: 'Bearer MY_TOKEN', 'content-length': 231 } 正文内容示例 –c2db2692-8877-4159-bf02-03e6c5d3ffbf Content-Type: application/http Content-ID: <item1:12930812@barnyard.example.com> GET /gmail/v1/users/sneg0k32@gmail.com/messages/14c6c0c43e9bb16b –c2db2692-8877-4159-bf02-03e6c5d3ffbf– 任何build议为什么发生这种情况 请求生成额外的几个空格,并以小写字母,但我不知道这是否是问题。 nodejs代码示例 request({ method: 'POST', uri: 'https://www.googleapis.com/batch', auth: { bearer: key }, headers: { 'Content-Type': 'multipart/mixed' }, multipart: _.map(queries, function(query) { return { 'Content-Type': 'application/http', 'Content-ID': "<item1:12930812@barnyard.example.com>", body: 'GET ' […]

如何只允许一个用户注册Stormpath

背景:我以前从来没有和Stormpath一起工作,想要充分学习如何做某些事情。 为了练习,我创build了自己的投资组合,包括CMS。 我的问题是,如何限制帐户注册使用Google API的一些特定的电子邮件(只有我应该能够添加和从我自己的投资组合中删除内容)。 例如只允许example1@gmail.com和example2@gmail.com进行注册。 我可以手动做,但我不想这样做。 我想要遵循的步骤是: 指定电子邮件 用户尝试访问CMS 提示用户login或注册 只有当用户在指定的电子邮件列表中,用户才能使用Google的API进行注册。 我明白这是一个非常普遍的问题,涉及到几个领域:Google的API,Stormpath,更不用说Express和Node了,但也许有人解决了这个问题,我可以看到一些代码。 谢谢。

如何刷新Google Analytics(分析)报告API v3的访问令牌

所以我正在研究一个Node.js应用程序,它将调查Google Analytics(分析)API的x秒数量。 我已经设置了一个“服务帐户”,并将p12键转换为一个.pem文件。 初始设置看起来像这样: var authClient = new google.auth.JWT(authData.serviceEmail, authData.keyFile, null, authData.scope, ''); authClient.authorize(function(err, tokens) { if (err) { winston.log('error', 'Error authorizing with GA', {error: err}); return; } setInterval(function() { analytics.data.realtime.get({ 'auth': authClient, … }, function (err, body) { // getting 401 error here }) }, 20000); }); 我还没有意识到最初的代币有1个小时的到期date; 但是我收到的令牌看起来像这样: { access_token: …, token_type: 'Bearer', […]

Google+ Api获取用户电子邮件

我正在使用Google+ API创build注册。 当我的用户表中插入数据时,我想获取用户的电子邮件。 尝试这样做时出现错误。 我的代码如下所示: var API_KEY = 'A*****'; plus.people.get({ auth: API_KEY, userId: req.body.userID }, function (err, user) { if( err ) { res.json( JSON.stringify( err ) ); return; } console.log(user.emails); User.find({ where:{ social_id:req.body.userID, type: 2 } }).then( existingUser =>{ if( existingUser ) throw new Error('social_user_existing'); if(!existingUser){ User.build({ username: user.displayName, social_id : req.body.userID, social_token :req.body.token, […]

用browserify捆绑google-api-nodejs-client不起作用

我正在尝试用google-api-nodejs-client使用browserify构build客户端应用程序。 看起来像在里面试图读取一些MIMEtypes信息使用FS模块,并没有在浏览器中做到这一点。 // Load additional types from node.js community mime.load(path.join(__dirname, 'types/node.types')); // Default type mime.default_type = mime.lookup('bin'); 有没有人使用这个API进行客户端开发?

OAuth 2.0 – 访问令牌何时应该刷新令牌?

我目前使用OAuth 2.0来访问Google API。 从我的理解,我应该使用返回的刷新令牌来更新访问令牌。 是否应该在刷新到期之前刷新,或者当用户使用已过期的访问令牌从API请求数据? 如果它应该在到期之前完成,我应该只是运行一个cron工作来更新过期的令牌吗? 我使用node.js和mongodb,如果这对推荐的解决scheme有任何影响。 非常感谢!

Google API服务帐户和nodejs

我希望能够使用nodejs以编程方式更新Youtube播放列表。 从理论上讲,使用Google API和jsonc是可能的。 因为我想在没有用户交互的情况下做到这一点,所以我一直在使用nodejs服务器上的Google API 服务帐号进行对抗。 注意本页没有列出用于Javascript的API客户端库 。 然后,我在Google文档中偶然发现了有关在Google Drive中使用服务帐户的消息: 出于安全原因,客户端JavaScript不支持服务帐户。 服务器端JavaScript的服务帐户尚不支持。 这是说我想达到什么是不可能的? 我无法在NodeJS服务器上使用服务帐户在没有用户交互的情况下更改播放列表?