Podio API:使用appId和appItemId修改项目

时间:2017-06-23 18:24:05

标签: podio

编辑:我已经发现我正在尝试使用appItemId字段(全局)中的ItemId(应用的本地)进行更新。现在的问题是如何在不使用全局ItemId的情况下进行更新。

我已经设置了一个脚本来作为应用进行身份验证。

我可以脚本提取和创建新项目没问题,但我无法编辑或删除现有项目。从错误消息我可以收集到该应用程序无权修改自己的项目。

如何添加这些权限?

所以,这有效:

 var item = new Item();
 item.Field<TextItemField>("title").Value = "blah";
 podio.ItemService.AddNewItem(appId,item);

这不是:

var item = new Item { ItemId = 1 };
item.Field<TextItemField>("title").Value = "blah";
podio.ItemService.UpdateItem(item);

1 个答案:

答案 0 :(得分:0)

我找到了一种方法,首先通过appItemId提取项目然后更新它。

   var item = podio.ItemService.GetItemByAppItemId(appId, appItemId);
   item.Field<TextItemField>("title").Value = "ayyyy";
   podio.ItemService.UpdateItem(item);

这可行,但需要额外的GET请求。

编辑:之前的代码甚至可能无法在所有情况下都有效。所以我不得不这样做:

var item = new Item { ItemId = podio.ItemService.GetItemByAppItemId(appId, appItemId).ItemId};

item.Field<TextItemField>("myval").Value = "test";
podio.ItemService.UpdateItem(item, null, null, true);

因为在使用所有其他值进行更新时会出现问题。