2

現在、Excel形式でGoogleスプレッドシートを取得し、xlsファイルをファイルシステムに保存するアプリケーションがあります。riaforge(http://cfgoogle.riaforge.org/ )でColdFusiongoogleApiラッパーを使用しています。

ラッパーはGoogleアカウントで認証し、cfhttpを使用してファイルをバイナリ形式でダウンロードします。ドキュメントを取得するためのURLは次のようになります。 https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=#urlEncodedFormat(arguments.id)#&fmcmd=#spreadSheetFormat(arguments.format)#

公開されているドキュメントのURLから直接ドキュメントをダウンロードするようにアプリの動作を変更したいのですが、公開されているドキュメントのURLを使用すると、ブラウザが最小値を満たしていないことを示すxlsファイルが表示されます。要件があるので、Webベースのビューが提供されています。google docs apiラッパーが使用するのと同じURL形式を使用する場合、パブリックドキュメントのIDを渡しても、認証する必要があります。

Google APIドキュメントを検索しましたが、cfhttpを使用してスプレッドシートをバイナリ形式で直接ダウンロードできるように、公開ドキュメントをリクエストするための適切なURL形式を見つけることができませんでしたか?cffhttpを使用して認証せずにxls形式で公開スプレッドシートをダウンロードするために必要な形式は何ですか?

4

2 に答える 2

1

Googleは、リクエストの「user_agent」変数を読み取っている可能性があります。CFでは、この変数はデフォルトでcoldfusionまたはjavaを含むものです。「useragent」属性をcfhttpリクエストに追加して、「Mozilla / 5.0(Windows NT 6.1; WOW64)」などの一般的なものを使用してみてください。

于 2012-04-10T15:50:40.827 に答える
1

riaforgeでRayのGoogleAPIcfcを使用して認証する必要がありました。自分のアカウントで認証されると、公開スプレッドシートのIDをgoogle cfcのダウンロード機能に渡すことができ、スプレッドシートをxlsファイルとしてダウンロードできるようになります。認証せずにダウンロードする方法を見つけることができませんでしたが、この方法により、エンドユーザーが自分のアカウントで認証する必要がなくなります。

于 2012-04-13T04:41:34.983 に答える