gpt4 book ai didi

node.js - 无法下载附加到项目的 Podio 文件

转载 作者:搜寻专家 更新时间:2023-10-31 23:08:05 25 4
gpt4 key购买 nike

我在尝试下载跑道项目的附件时遇到问题:

podio.request('get', '/file/{file_id}/raw').then(console.log);

以上程序显示:

{}

这是一个 JSON 字符串化的空对象(而不是原始文件内容)。

详细信息:

  • 登录后可以通过URL访问上述文件
  • 以上代码在适当的身份验证后运行
  • 当使用来自项目的图像字段的 file_id 时,它实际上有效,但不是来自文件附件(在我的例子中是 pdf 文件)。
  • 当使用 API 端点 /item/app/{app_id}/filter 获取项目列表时,设置属性 file_count,但不设置 files 。我必须单独请求 /item/{item_id} 才能将 files 属性包含在响应中,但不确定为什么。

问题:您知道问题出在哪里吗?我如何才能下载原始附件?

编辑:附加信息

如果我使用以下命令请求单个文件元数据:

podio.request('get', '/file/1234').then(console.log);

我得到一个包含许多字段的文件 JSON 对象,但不是文件内容:

{
...
link: 'https://files.podio.com/1234',
file_id: 1234,
...
}

如我对@stengaard 的评论所述,如果我尝试为上述链接请求 API,响应如下:

{ [PodioNotFoundError: [object Object]]
message:
{ error_parameters: {},
error_detail: null,
error_propagate: false,
request:
{ url: 'http://api.podio.com/1234',
query_string: '',
method: 'GET' },
error_description: 'No matching operation could be found. The path \'/1234\' was not found..',
error: 'not_found' },
status: 404,
url: 'https://api.podio.com:443/1234',
name: 'PodioNotFoundError' }

最佳答案

要使用 GET/file/{file_id}/raw 端点,您需要具有较高信任级别的 API key 。

改为使用 GET/file/{file_id} 端点。其中包含一个 link 属性(一个 URL),您应该按照此属性获取文件内容。

link 属性类似于:https://files.podio.com/{file_id}。要获取文件,请执行 https://files.podio.com/{file_id}?oauth_token={oauth_token}。其中 OAuth token 与用于 GET/file/{file_id} 的 token 相同。如果您知道文件 ID(例如来自 GET/item/{item_id},您可以跳过 GET/file/{file_id} 并联系 files.podio .com 直接。(注意:如果您不喜欢在 URL 参数中传递身份验证 token ,也可以在 HTTP 请求中设置 Authorization: OAuth2 {oauth_token} header 。)

有关如何使用它的示例,请参阅 https://github.com/podio/podio-js/blob/master/lib/general.js#L11

通常在 JS 客户端中,如果您使用 podio 作为 Podio API 对象,OAuth token 将位于此处:

podio.authObject.accessToken

所以要在nodejs中获取文件的原始内容:

var url = 'https://files.podio.com/'+file_id+'?oauth_token='+podio.authObject.accessToken;
request(url, function (err, fileContent) {
// use fileContent here, write to a file, etc...
});

关于node.js - 无法下载附加到项目的 Podio 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com