【发布时间】:2013-12-25 05:04:38
【问题描述】:
我有一个类似“https://podio.com/.../apps/candidates/items/3”的链接
如何获得此物品?
在 PHP 中可能是 PodioItem::get_by_app_item_id( $app_id, $app_item_id );将工作。但是我在 C# 中找不到这个方法。
ItemService.FilterItem 可能有用,但我真的不知道如何使用它..
【问题讨论】:
我有一个类似“https://podio.com/.../apps/candidates/items/3”的链接
如何获得此物品?
在 PHP 中可能是 PodioItem::get_by_app_item_id( $app_id, $app_item_id );将工作。但是我在 C# 中找不到这个方法。
ItemService.FilterItem 可能有用,但我真的不知道如何使用它..
【问题讨论】:
如果该方法不存在,很可能是您没有正确引用您的项目来与 Podio API 通信。
// creates a Podio.API.Client used to communicate with the Podio API
var client = Podio.API.Client.ConnectAsUser(client_id, client_secret, username, password);
// Get a single item
int itemId = 123;
var item = client.ItemService.GetItem(itemId);
// Get many items from an app
int appId = 123;
int limit = 100 // Max allowed is 500 items per request;
int offset = 0;
var items = client.ItemService.GetItems(appId, limit, offset);
Podio API Documentation for .NET
请阅读文档。它告诉您如何读取给定 itemID 的项目。
【讨论】:
并非所有 Podio API 操作都已添加到 .NET 客户端。本页底部告诉你如何使用 rest 助手进行自定义调用:https://developers.podio.com/clients/dotnet
// creates a Podio.API.Client used to communicate with the Podio API
var client = Podio.API.Client.ConnectAsUser(client_id, client_secret, username, password);
int AppId = 9999;
string requestUrl = Podio.API.Constants.PODIOAPI_BASEURL + "/tag/app/" + AppId + "/";
// request the api
Podio.API.Utils.PodioRestHelper.PodioResponse response = Podio.API.Utils.PodioRestHelper.Request(requestUrl, client.AuthInfo.access_token);
在您的具体情况下:如果您真的只有一个 URL,您可以将其解析为参考。这将为您提供获取项目本身所需的 item_id。见:https://developers.podio.com/doc/reference/resolve-url-66839423
这是将 URL 转换为引用的最可靠方法。如果您有 app_item_id 和 app_id,您可以使用https://developers.podio.com/doc/items/get-item-by-app-item-id-66506688 直接获取项目。
这些操作在 .NET 客户端中都没有方法,您必须使用 rest 助手来进行调用。当然,也可以自己添加方法。
【讨论】:
请参考这个documentation C# Client Library
示例代码:
var item = podio.ItemService.GetItemBasic(123); // Get item with item_id = 123
【讨论】: