podio api:用appid和appitemid修改项目



编辑:我已经想出我试图通过使用ItemId字段(Global(中的appItemId(应用程序本地(来更新。现在的问题是如何在不使用全局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);

我找到了一种方法,首先通过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);

因为使用所有其他值时,某些东西会破裂。

最新更新