1

私は継続的な API プロジェクトに取り組んでいます。当面の問題は、AtTask サーバー上に存在する正確なフォルダー構造で、AtTask サーバーから自分のデータをダウンロードできるようにすることです。フォルダの作成がうまく機能しています。Document、Document Folder、および Document Version の間のデータ型はかなり明確なようです。拡張機能がドキュメント オブジェクトに含まれていないという事実 (そのためにドキュメント VERSION を参照する必要がある) については少し幻滅していますが、設計の観点からその理由のいくつかを確認できます。

私が今直面している問題は、ファイルの内容を取得する必要があるということです。私は元々、ドキュメントがアップロードを推奨しているのと同じ方法でファイルの内容にアクセスできるAPIドキュメントから、ハンドルを介してアクセスしました。残念ながら、ドキュメントも docv も、新しいファイルを書き込むことを除いて、ハンドルへのアクセスをサポートしていないようです。

したがって、残りのオプションとして「ダウンロード URL」が残ります。ブラウザを使用して API 呼び出しから UI 文字列を作成すると、URL が取得されますhttps://attaskURL/document/download?ID=xxxx(また、versionID なども取得できます)。AtTask のユーザー インターフェイスにログインしているブラウザーに URL を貼り付けると、正常に動作し、ファイルをダウンロードできます。代わりに C# コードを使用すると、認証されていないため、実際のファイルではなく、ダウンロードするストリームとしてログイン ページが返されます。ネットワーク資格情報を作成し、ユーザー名とパスワードを使用してリクエストに添付しようとしましたが、役に立ちませんでした。

この問題を解決するにはいくつかの方法があると思います。簡単な方法は、コードを介してダウンロード サイトに「ログイン」する方法を見つけることです (これは C# の通常のネットワーク資格情報オブジェクトではないようです)。 API を介してファイルの内容にアクセスします。

あなたの考えに感謝します!

4

2 に答える 2

4

URLにセッションIDを入れるとダウンロードURLが使えるようです。セッション ID の取得の詳細は次のとおりです (基本的には、ログインを呼び出すだけで、セッション ID が JSON で返されます)。

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

次に、ドキュメントのダウンロード URL の最後にそれを詰め込みます。

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

これを簡単にテストしたところ、ドキュメントにアクセスできました。

于 2014-02-27T00:44:14.027 に答える