在C#.Net中使用Podio API更新Podio项
我不熟悉Podio,并在c#net中使用Podio API。我能够获取项目集合,在.Net中使用API和webhooks创建项目。但我一直在更新这个项目。我正在使用webhook更新ITEMX.update的项目。 但我在更新项目时出错 虽然我试过了在C#.Net中使用Podio API更新Podio项,c#,podio,C#,Podio,我不熟悉Podio,并在c#net中使用Podio API。我能够获取项目集合,在.Net中使用API和webhooks创建项目。但我一直在更新这个项目。我正在使用webhook更新ITEMX.update的项目。 但我在更新项目时出错 虽然我试过了 为字段指定新值 刚刚使用ItemId获取了项目,并立即调用 ItemUpdate()方法,而不更改获取的项 但还是有错误。 错误消息的最后一句说: “\\”项目id\\”:9999999, \\“修订版\\”:0}(对象):必须是整数\“,\”
- 为字段指定新值李>
- 刚刚使用ItemId获取了项目,并立即调用 ItemUpdate()方法,而不更改获取的项
public静态异步任务UpdateCalculationsInGMApp(int-appItemId)
{
//获取相关的GMApp
尝试
{
var_Podio=新的Podio(Helper.ApiClientId,Helper.ClientSecret);
AppMaster Ratesapp=Helper.GetAppToken(“成本费率”、“VikramTestWS”);
等待_Podio.AuthenticateWithApp(Ratesapp.AppId,Ratesapp.Token);
Item ratesPodioItem=Wait_Podio.ItemService.GetItem(appItemId);
//在此成功获取项目
//然后尝试将其中一个字段设置为新值。后来进行了注释和测试,但没有成功
//var pm_Rate=ratesPodioItem.字段(“pm Rate”);
//pm_率值=100;
尝试
{
intx=(int)wait_Podio.ItemService.UpdateItem(ratesPodioItem,null,null,true,true);
}
捕获(异常excp)
{
Logger.AddToLog(DateTime.Now,excp.Message,“错误:更新podio项”+ratesPodioItem.ItemId.ToString());
}
}
}'
您可能正在使用获取的项目对象本身更新回Podio。这将不起作用。您需要创建一个全新的项目对象并执行更新作业。请参阅此处的文档:您可能正在使用获取的项目对象本身更新回Podio。这将不起作用。您需要创建一个全新的项目对象并执行更新工作。请参阅此处的文档:您能否提供您的源代码(当然不带任何访问令牌和登录/密码),以便更容易理解出错的原因?您能否提供您的源代码(当然不带任何访问令牌和登录/密码),这样就更容易理解出什么问题了?嘿,阿杰马尔,非常感谢。你是对的。我们需要一个完整的新项目来更新。它成功了!!!!!嘿,阿杰马尔,非常感谢。你是对的。我们需要一个完整的新项目来更新。它成功了!!!!!
public static async Task<int> UpdateCalculationsInGMApp(int appItemId)
{
//Get related GMApp
try
{
var _Podio = new Podio(Helper.ApiClientId, Helper.ClientSecret);
AppMaster Ratesapp = Helper.GetAppToken("Costing Rates", "VikramTestWS");
await _Podio.AuthenticateWithApp(Ratesapp.AppId, Ratesapp.Token);
Item ratesPodioItem = await _Podio.ItemService.GetItem(appItemId);
//Item fetched successfully here
//thentried to set one of the field with new value. Later on commented and tested but didn't worked
//var pm_Rate = ratesPodioItem.Field<NumericItemField>("pm-rate");
//pm_Rate.Value = 100;
try
{
int x = (int)await _Podio.ItemService.UpdateItem(ratesPodioItem, null, null, true, true);
}
catch (Exception excp)
{
Logger.AddToLog(DateTime.Now, excp.Message, "Error: updating podio item" + ratesPodioItem.ItemId.ToString());
}
}
}'