编辑:我已经发现我正在尝试使用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);
答案 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);
因为在使用所有其他值进行更新时会出现问题。