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

Podio API: Modifying an item with appId and appItemId

编辑: 我发现我试图通过在 ItemId 字段(全局)中使用 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);

因为在更新所有其他值时出现问题。