【问题标题】:Items: Get item revision difference returns empty array项目:获取项目修订差异返回空数组
【发布时间】:2017-10-30 09:58:23
【问题描述】:

我正在尝试使用应用身份验证返回两个修订版之间的字段值差异,但我得到一个空数组。 当尝试使用 api 功能“获取项目修订”时,我收到“找不到对象”响应。

任何帮助将不胜感激:)

const podio = new Podio({
authType: 'app',
clientId: clientId,
clientSecret: clientSecret });
podio.authenticateWithApp(app_id, appToken, (err) => {
if (err) throw new Error(err);

podio.isAuthenticated().then(function () {
// ready to make API calls

apiRoutes.get('/item', function (req, res) {
  podio.request('GET', `/item/702620400/revision/1899410196/1910867632`).then(function (responseData) {
      res.json(responseData);
    });
  });


}).catch(err => res.send(err));
});

【问题讨论】:

  • 任何具有确切请求/响应的代码示例?
  • @Pavlo-Podio 我已经包含了代码,进行此调用的响应是'[]',值得一提的是,我也尝试了沙盒环境,并且得到了相同的响应。感谢您的帮助
  • 您能否也分享来自developers.podio.com/doc/items/get-item-revision-22373 调用的结果,以获取有问题的两个修订版? (1899410196 和 1910867632)?您可能对同一字段进行 2 次更改,结果完全相同,因此修订差异为空。例如。类别字段从“Open”更改为“Closed”,然后再次从“Closed”更改为“Open”。修订差异将是空的。
  • 我正在修改的字段有一个我只增加的数值,我对我的项目进行了更多更改,现在它似乎可以给我两个修订之间的差异。当我尝试使用“GET /item/{item_id}/revision/{revision}”调用 API 时,它仍然返回“找不到对象”
  • 显然,每当我修改“类别”时,我都可以看到两个版本之间的变化,但如果我只修改“数字”,我将无法看到。

标签: podio


【解决方案1】:

在描述对项目修订的要求时,Podio 文档不够清晰。以下是它的工作原理,以 Ruby 为例:

  item_revisions = Podio::ItemRevision.find_all_by_item_id(item_id)
  last = item_revisions.length - 1
  revision_last = Podio::ItemRevision.find(item_id, last)
  revision_beforelast = Podio::ItemRevision.find(item_id, last - 1)
  diff = Podio::ItemDiff.find_by_item_and_revisions(item_id, last - 1, last)

误导部分是revision_id vs revision vs item_revision_id。 对于“获取项目修订”和“获取项目修订差异”调用,请使用revision,它从 0 开始用于每个项目,并随着每个新修订增加 1。项目的最新版本是上面示例中的item_revisions.length - 1

【讨论】:

  • 谢谢,这就是问题所在,我应该使用item_revision_id,而应该使用revision
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
相关资源
最近更新 更多