2017-06-23 33 views
0

編輯:我已經想通了,我是想通過在ItemId場(全球)使用appItemId(本地的應用程序)進行更新。現在的問題是如何在不使用全球ItemId的情況下進行更新。波迪奧API:修改與應用標識和appItemId項目

我已經設置了一個腳本來作爲應用進行身份驗證。

我可以腳本抓取和創建新項目沒有問題,但我不能編輯或刪除現有項目。從錯誤消息中,我可以收集到應用程序無權修改其自己的項目。

如何添加這些權限?

所以,這個工程:

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

我找到了一種方法先取出由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); 

因爲用所有其他值進行更新時發生中斷。