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

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

使用这里示例: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+矩?如果是的话,请告诉我我在做什么。

时间:原作者:

...