node.js - 使用 googleapis node.js api ( google api nodejs客户端) 插入 google + 矩

  显示原文与译文双语对照的内容

使用这里示例:https://developers.google.com/+/api/latest/moments/insert

和everyauth来处理oauth登录:

( 添加. withAuth() )

或者使用我自己的简单示例,我得到了一个"无效值"状态代码: 400错误。


{"domain":"global","reason":"invalid","message":"Invalid Value"}



是否有人能够使用google-api-nodejs-client库发布 Google + 矩?

我使用everyauth来处理oauth和登录。 我的初始化代码如下:


everyauth.google


. appId(conf.googlehybrid.clientId)


. appSecret(conf.googlehybrid.clientSecret)


. scope('https://www.googleapis.com/auth/plus.login


 https://www.googleapis.com/auth/plus.moments.write')


. findOrCreateUser( function (sess, accessToken, extra, googleUser) {


 googleUser.refreshToken = extra.refresh_token;


 googleUser.expiresIn = extra.expires_in;


 return usersByGoogleId[googleUser.id] || (usersByGoogleId[googleUser.id] = addUser('google', googleUser));


 })


. redirectPath('/');



上面的代码生成以下 url:

https://accounts.google.com/o/oauth2/auth?client_id=507792786278.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fgoogle%2Fcallback&response_type=code&access_type=offline&approval_prompt=auto&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.login%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.moments.write&request_visible_actions=http:%2F%2Fschemas.google.com%2FCreateActivity

注意:我在url中使用了"request-visible-actions"参数。 还要注意,矩类型与下面代码中指定的类型和 schema.org 规范的类型匹配。

作用域似乎已经正确处理。 登录序列提示我批准


This app would like to:


 -Know your basic profile info and list of people in your circles. (Edit list) 


 -Make your creative activity available via Google, visible to:...



我的代码:


var moment = {


"type":"http://schemas.google.com/CreateActivity",


"target": {


"id":"target-id-2",


"type":"http://schema.org/CreativeWork",


"name":"Test moment",


"description":"This is a sample moment",


"text":"samplpe g+ posting!"


 }


}



gapi.client.plus.moments.insert(


 { 


 'userId': 'me',


 'collection': 'vault',


 'resource': moment


 })


. withAuthClient(authObject)


. execute(callback);


}



我没有任何问题与Google+交互或者对Google服务进行授权请求,否则不能获得Google+时刻。 是否有人能够使用google-api-nodejs-client库插入Google+矩? 如果是的话,请告诉我我在做什么。

时间: 原作者:

...