2017-06-23 8 views
0

EDIT:私はItemIdフィールド(グローバル)にappItemId(アプリのローカル)を使用して更新しようとしたことを考え出しました。ここでの問題は、グローバルItemIdを使用せずに更新する方法です。PodioのAPI:APPIDと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リクエストが必要ですが、これは機能します。

EDIT:前のコードはすべての場合に機能しない場合もあります。だから私はしなければならなかった:

var item = new Item { ItemId = podio.ItemService.GetItemByAppItemId(appId, appItemId).ItemId}; 

item.Field<TextItemField>("myval").Value = "test"; 
podio.ItemService.UpdateItem(item, null, null, true); 

他のすべての値で更新するときに何かが壊れるからです。

関連する問題