如何从AtTask下载文档



我正在进行一个持续的API项目。当前的问题是能够从AtTask服务器下载我的数据,精确到AtTask服务器上存在的文件夹结构中。我的文件夹创建工作得很好;Document、Document Folder和Document Version之间的数据类型似乎非常清楚。我对扩展不在文档对象中的事实有点失望(我必须参考文档VERSION)。。。但我可以从设计的角度看出其中的一些原因。

我现在遇到的问题是,我需要获取文件内容。我最初从API文档中了解到,我能够以与文档建议上传文件相同的方式获取文件内容——通过句柄。不幸的是,除了编写新文件外,文档和docv似乎都不支持我访问句柄。

因此,剩下的选项是"下载URL"。如果我使用浏览器从API调用构建UI字符串,我会得到一个带有https://attaskURL/document/download?ID=xxxx的URL(也可以得到版本ID等)。如果我将url粘贴到浏览器中,登录到AtTask的用户界面,它运行良好,我可以下载文件。相反,如果我使用C#代码这样做,我会将登录页面作为流返回给我下载,而不是我的实际文件,因为我没有经过身份验证。我尝试创建一个网络凭据,并用用户名和密码将其附加到请求中,但没有成功。

我想有几种方法可以解决这个问题——最简单的方法是找到一种通过代码"登录"下载站点的方法(这似乎不是C#中常见的网络凭据对象),或者找到一种方法通过API访问文件内容。

感谢你的想法!

如果在URL中放入会话id,则可以使用下载URL。获取会话id的详细信息如下(基本上只需调用login,并以JSON形式返回会话id):

http://developers.attask.com/api-docs/#Authentication

然后把它塞在你的文档下载URL的末尾:

https://yourcompany.attask-ondemand.com/document/download?ID=xxxx&sessionID=abc1234

我已经对此进行了快速测试,我可以访问文档。

如果未使用SAML身份验证,则可以使用downloadURL和sessionID。

我已经尝试了两种方法,使用SAML会将您重定向到登录页面。

最新更新