【问题标题】:Mirror API and Node.JS镜像 API 和 Node.JS
【发布时间】:2013-05-03 11:22:40
【问题描述】:

我有一个 node.js 程序,我正在尝试使用 googleapis 模块 (https://github.com/google/google-api-nodejs-client) 版本 0.2.5-alpha。

我可以毫无问题地使用原始 HTTP 进行调用,因此我知道我在 API 的白名单中,我正在正确地进行身份验证和授权,并且正在请求正确的范围和所有内容。如果我使用相同的 access_token 插入时间线,我会在回调中收到错误。我还发现了 plus API,使用此 API 的调用工作正常。

用于发现 API 的代码片段,似乎可以正常工作:

var client;
googleapis
  .discover( 'plus', 'v1' )
  .discover( 'mirror', 'v1' )
  .execute( function(err,data){
    console.log( err );
    client = data;
  });

执行调用的代码片段:

client.mirror.timeline.insert({ 文本:“测试 1” } ).withAuthClient(user.auth).execute(function(err,result,res){ console.log('++ 开始 ++'); console.log('+err', err); console.log('+结果', 结果); //console.log('+res', res); console.log('++ end ++'); });

回调期间记录的内容:

++开始++ +错误{代码:400, 消息:'必需', 数据:[{域:'全球',原因:'必需',消息:'必需'}]} +结果未定义 ++结束++

任何指示什么是“必需”、如何提供或如何进一步调试此类错误?

【问题讨论】:

    标签: google-api-client google-mirror-api google-api-nodejs-client


    【解决方案1】:

    更新:不再需要 resource 属性,因此原始代码应该可以正常工作,而不是建议的解决方案。

    由于node.js客户端库是基于JavaScript客户端库的,所以需要在“resource”属性中设置请求体:

    client.mirror.timeline.insert({resource: {
        text: "test 1 "
      }}).withAuthClient(user.auth).execute(function(err,result,res){
          console.log( '++ start ++' );
          console.log( '+err   ', err );
          console.log( '+result', result );
          //console.log( '+res   ', res );
          console.log( '++ end   ++' );
      });
    

    【讨论】:

    • 完美运行。谢谢!是否有需要“资源”属性的参考,或者还有哪些其他属性可用?
    • 这适用于 0.2.12-alpha 及之前的版本。从最新的 googleapis node.js 模块(v 0.2.13-alpha)开始,“resource”属性不是必需的。你的原始代码可以工作。
    猜你喜欢
    • 1970-01-01
    • 2015-07-07
    • 2016-02-06
    • 2013-04-29
    • 2014-05-08
    • 2019-04-03
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多