我首先要解决这个问题:我是业余程序员(充其量)...我对API如何工作有一定的了解,但很少有人直接操作podio API (即我经常使用zapier / globiflow,不要写任何php / ruby)。我确定其他人可以通过API文档解决这个问题,但我无法做到。因此,我真的希望有人可以帮助澄清并提供更详细的指导。
我的总体目标:
我经常将podio文件从podio前端导出为xlsx。我和我的团队使用它来在Excel中执行常规数据分析任务。我希望通过自动执行将更新的podio导出到我的Excel中的功能,使这个过程更容易。我的计划是通过excel VBA来做到这一点。我从其他搜索中了解到可以使用VBA发送HTTP请求,所以我想确保我理解我需要发送到Podio API以获得我需要的东西。如何在excel VBA中编写HTTP请求的方法超出了本问题的有意范围(尽管我对此有任何帮助!)
到目前为止我尝试过的事情:
我知道'将商品作为xlsx'是podio API的一部分:https://developers.podio.com/doc/items/get-items-as-xlsx-63233
但是,我似乎无法在该页面的沙盒环境中使用此功能,以便我可以找出有效的请求URL。我收到此消息:'无效的过滤密钥' ...因为我不知道如何填补这个领域。该页面上的信息不清楚。引用的'views page'也不明显。没有例子可以遵循!
我甚至不想做任何过滤。我只是想在应用程序中获取所有项目。或者我可以给它一个预先存在的view_id,但是这样做似乎没有{key}
我意识到这可能很简单。请帮助一个菜鸟? :)
答案 0 :(得分:4)
不幸的是,交互式API沙箱对于此特定端点的行为不正常。对于过滤,此API端点需要查询字符串参数,其中字段 - 值对由整数字段ID和每个字段的允许值组成。按字段过滤是完全可选的。看起来这个沙箱页面不是为这种带有动态查询字符串字段名称的操作构建的;无论您在哪里看到该页面上的{key}
字段都是您用于过滤的字段ID的占位符。
如果你想试验这个端点,我建议你先尝试另一个专用的HTTP客户端。我能够使用命令行程序wget
:
wget --header="Authorization:OAuth2 $MY_SECRET_TOKEN" \
--content-disposition \
"https://api.podio.com/item/app/16476850/xlsx/"
在这种情况下,wget
下载了包含应用中所有项目的Excel文件,但未应用任何过滤。额外的--content-disposition
参数告诉wget
使用服务器的Content-Disposition
响应标头中的信息将输出保存为具有名称的文件。
应用过滤器:
wget --header="Authorization:OAuth2 $MY_SECRET_TOKEN" \
--content-disposition \
"https://api.podio.com/item/app/16476850/xlsx/?130654431=galaxy"
在这种情况下,下载的文件会将结果过滤到字段ID 130654431
(类别字段)包含值galaxy
的项目。