【问题标题】:Podio API: Modifying an item with appId and appItemIdPodio API:使用 appId 和 appItemId 修改项目
【发布时间】:2017-06-23 18:24:05
【问题描述】:

编辑:我发现我试图在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);

【问题讨论】:

    标签: podio


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多