首页 文章

镜像API和Node.JS

提问于
浏览
4

我有一个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({
    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   ++' );
  });

回调期间记录的内容:

++ start ++
+err    { code: 400,
  message: 'Required',
  data: [ { domain: 'global', reason: 'required', message: 'Required' } ] }
+result undefined
++ end   ++

什么是“必需”,如何提供它,或者如何进一步调试这样的错误?

1 回答

  • 5

    UPDATE:不再需要资源属性,因此原始代码应该正常工作而不是建议的解决方案 .

    由于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   ++' );
      });
    

相关问题