我使用" Web App Integrations"开发了一个Box应用程序,可以通过右键单击Box Web来管理文件。
这是一个弹出式集成,可以让文件修改它并再次保存。 前段时间我们发现它已经坏了,但是到现在还没有时间检查它,当我们想要保存修改过的文件时,问题出现在我们的最后一个请求框中。
在我们的回调中,我们正在请求#overwrite_url#和#new_copy_url#,我们将修改后的文件发布到该网址,并保存为"或者"保存"根据用户选择。
新文档没有描述这两个参数,但应用程序管理允许它们被请求,所以我假设它们不被弃用,除了我没有看到与此问题相关的文档中的差异。
我们使用的请求是:
POST /api/1.0/new_copy/dmq5esykpq30sp2kepy3b1d7mvese5ap/9721827325?new_file_name=Koala.proton.jpg HTTP/1.1
Accept: application/json
Content-Type: multipart/form-data;boundary=2iqAzMZWpgN473oDBmRGnysbfTtsD2
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.7.0_45
Host: upload.box.com
Connection: keep-alive
Content-Length: 17831
--2iqAzMZWpgN473oDBmRGnysbfTtsD2
Content-Disposition: form-data; name="file"; filename="empty.dat"
Content-Type: application/octet-stream
Content-Length: 17627
我得到的唯一回应是对身体进行了200次反应,并限制了#34;没有进一步的信息。
我怀疑这与APIv1的弃用有关,但是集成没有使用api,如果弃用对集成产生一些影响并且响应是总是消极的。
答案 0 :(得分:0)
为了更新集成以继续工作,肯定需要进行更改。是的,V1 API已被弃用,因此您的旧集成已停止工作。
新文档是here。微妙的区别在于,您现在可以为这些Web应用程序集成获得更多功能。令牌不会在24小时后过期,但会遵循Box的相同OAuth2规则。令牌的范围将用于调用web-app-integration的文件或文件夹。
从根本上说,在服务器上获得入站请求后的第一步是通过OAuth2端点交换Auth-Token的auth_code。
请参阅auth_code部分。然后,您将拥有一个Auth-token,可以让您调用常规的V2 API。要做副本,你会:
POST https://api.box.com/2.0/files/{id}/copy (with the Bearer-token header)
有关如何执行复制操作的文档,请参阅https://developers.box.com/docs/#files-copy-a-file。不错的是,您也可以使用该令牌执行任意数量的其他API调用...只要它们在该文件的范围内。