首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C# .Net中使用Podio更新Podio项

在C# .Net中使用Podio更新Podio项
EN

Stack Overflow用户
提问于 2016-12-14 11:53:50
回答 2查看 486关注 0票数 1

我对c# .net中的Podio和Podio很陌生。我能够获取项集合,使用.Net中的API和webhooks创建项。但是我被困在更新项目上了。我在ITEMX.Update的项目更新上使用web钩子。但是我在更新项目时出错了。

我试过的时候,

  • 若要向字段分配新值,请执行以下操作。
  • 只使用ItemId并立即调用ItemUpdate()方法获取项,而不对获取项进行任何更改

但还是会犯错误。错误信息的最后一句是:

\"request\":{\"url\":\"http://api.podio.com/item/9999999\",\“item_id\”:99999999,\“item_id\\”:0} (对象):必须是整数\“,\”query_string\“:”\\“方法\”:\“PUT\”}}

我尝试了很多东西,引用了很多文档,但没有找到解决方案。有人能帮我把这件事做完吗?

代码语言:javascript
复制
  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());
        }
    }
}'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-15 08:44:13

您可能正在使用获取的item对象本身更新回Podio。那是行不通的。您需要创建一个全新的Item对象并执行更新工作。参见这里的文档:http://podio.github.io/podio-dotnet/items/

票数 4
EN

Stack Overflow用户

发布于 2021-06-29 17:06:05

  1. 而不是检索和更新一个现有的项目,创建一个新项目!
  2. 将ItemId设置为要更新的项的id。
  3. 将要更新的任何字段设置为新项。
  4. 更新这个新项目。 Item itemToUpdate = need ();itemToUpdate.ItemId = appItemId;//需要更新的项的item_id。var textfield = itemToUpdate.Field("notes-text");textfield.Value = "update“+ DateTime.Now.ToShortDateString(); 尝试{ int x=(Int)等待_Podio.ItemService.UpdateItem(itemToUpdate,null,null,true,true,true);} Logger.AddToLog(DateTime.Now,excp.Message ){Logger.AddToLog(DateTime.Now,excp.Message)+ratesPodioItem.ItemId.ToString();}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41141982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档