問題タブ [pydrive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python + Google ドライブ: xlsx をアップロード、Google シートに変換、共有可能なリンクを取得
私の希望するプログラムの流れは次のとおりです。
- ドライブに xlsx スプレッドシートをアップロードします (これは pandas を使用して作成されました
to_excel
) - Google スプレッドシート形式に変換する
- リンクを知っている人なら誰でも編集できることを指定する
- リンクを取得し、情報を入力する担当者と共有します
- 完成したシートをダウンロードする
現在、手順 1 と 5 を解決する PyDrive を使用していますが、未解決の問題がいくつかあります。
Google シート形式に変換するにはどうすればよいですか? 'application/vnd.google-apps.spreadsheet'
PyDrive でアップロードするファイルを作成したときと同じように mimeType を指定しようとしましたが、エラーが発生しました。
リンクを知っている人なら誰でもファイルを編集できるようにするにはどうすればよいですか? それが設定されると、PyDrive を使用して簡単に共有リンクを取得できます。
更新: xlsx から Google シートへの変換は、convert=True
フラグを使用して簡単に行うことができます。下記参照。新しいファイルの共有設定を「リンクを知っている人なら誰でも編集できる」に設定する方法をまだ探しています。
python - kivy pydrive buildozer ImportError: iri2uriという名前のモジュールがありません
Linuxデスクトップで実行されるkivyアプリがあります。
また、buildozer でビルドして、Android フォンでアプリを実行することもできます。
pydrive モジュールを介して google-drive との同期を含めます -> Linux で動作します。
buildozer.spec ファイルの要件に PyDrive を追加しましたが、Android でアプリを実行すると、adb 経由で携帯電話に次のエラーが表示されます。
python - Python を使用してプログラムで Google ドライブにアクセスする
セッションごとに OAuth で手動で認証することなく、Google ドライブ フォルダにプログラムでアクセスする方法はありますか?
PyDriveを使用してドライブにアクセスすることはできましたが、Python スクリプトを実行するたびに手動でブラウザの OAuth アクセス ページにアクセスする必要があります。
Python で Google ドライブへの永続的なアクセスを許可する方法はありますか?
python - 毎回許可を求めずに別のユーザーの Google ドライブにファイルをアップロードする方法は?
初めての場合を除いて、毎回ログインまたは確認コードを要求せずに、別のユーザーの Google ドライブにファイルをアップロードする方法はありますか?
今までpydriveを使っていたのですが、毎回ログインを求められます。これ以外に、ユーザーのログインをスキップするために使用するキーなどはありますか?
python - Googleドライブにフォルダーを作成し(存在しない場合)、Pythonスクリプトを使用してファイルをアップロードします
これまでのところ、ファイルが存在する場合は、フォルダーにファイルをアップロードできます。私はそれを作成する方法を理解できません。したがって、フォルダーが存在しない場合、スクリプトは終了します。
上記のコードを修正して、フォルダー gpath が存在しない場合は作成するのを手伝ってもらえますか?
python - Pythonスクリプトを使用してファイルをGoogleドライブに自動アップロード
Googleドライブへのアクセスを自動認証/承認する次のコードがあります。スクリプトの親ディレクトリに client_secrets.json ファイルをコピーしました。このコードはブラウザーのタブを開き、[同意する] をクリックするのを待ちます。同意した後、コードは引き続き実行され、フォルダーが作成され (存在しない場合)、そこにファイルが保存されます。
このスクリプトをリモート サーバーで実行したいのですが、サーバーにブラウザーがあるかどうか、および/またはサーバー上でスクリプトが正常に実行されるかどうかがわかりません。プロセスを完全に自動化し、ユーザーがブラウザーで [同意する] をクリックするのではなく、ユーザーの介入なしにスクリプトにすべてを処理させたいと考えています。
また、これは何時間も実行される非常に大きなスクリプトの一部であり、おそらく毎週自動的に実行されるようにプログラムされます。したがって、ユーザーへの依存は非常に望ましくありません。
私はGerardoの方法を試しました(2番目のコメントから)。アプリケーションの自動認証に成功した可能性があります。サービス アカウントを作成し、SignedJwtAssertionCredentials を使用して、次のように承認済みの http オブジェクトを生成しました。
アプリが承認されているかどうかわかりません。エラーは発生しないので、うまくいくと思います。ファイルをフォルダーにアップロードする必要があります。続行するにはどうすればよいですか?
python - pyDrive が FileNotDownloadableError エラーを出している
GoogleドライブからPyDriveでファイルをダウンロードしようとしています。http://pythonhosted.org/PyDrive/filemanagement.html#download-file-contentの指示に従いました。そして、それは自分のドメインから適切に機能しています。
ログは以下の通り。
クライアントのドメインから同じことを試みていますが、次のエラーが発生しています
私のコード driveDownload.py は以下です
不足している設定はありますか? クライアントの Google ドライブにあるすべてのファイルを一覧表示できます。ただし、ファイルをローカル ディスクにダウンロードしようとするとエラーが表示されます
google-api - pydrive.auth.RefreshError: refresh_token が見つかりません
pydrive を使用して Google ドライブからファイルをダウンロードしようとしています。コードはpydrive 検証プロセスの自動化から変更されています
そして、次のエラーが発生しています。
したがって、ここでstackoverflowの指示に従いました
それを機能させることができません。基本的なものが欠けていますか?
私のsettings.yamlは以下です
次のエラーが表示されます:
私のコードは driveDownload.py です:
google-api - PyDrive を使用して .csv データを Google スプレッドシートの特定のシートにアップロードする
これまでのところ、PyDrive を使用して新しい Google シートに Python スクリプトを作成することができました。
ただし、理想的には、アップロードするスプレッドシート ID だけでなく、情報を追加するスプレッドシート内の特定のシートの GID を指定できるようにしたいと考えています。
これが可能かどうか誰にもわかりますか?
python - Googleドライブのpydriveライブラリは、リクエストを使用してリクエストされた形式でファイルをダウンロードしていません
Google ドライブ アカウントからファイルを取得して更新するための簡単なスクリプトをセットアップしました。認証とドライブへのアクセスに問題はありません。ファイルは、ドライブ上の Google スプレッドシートの形式になっています。したがって、pydrive ファイル オブジェクトがある場合、ファイルの URL を .csv 形式で取得しますgoogle_file['exportLinks']['text/csv']
。これは過去に機能していましたが、今日は新しいファイルに対して同じ方法を試しましたが、データの csv 形式を取得する代わりに、HTML を取得し続けます。さらに、リンクをコピーgoogle_file['exportLink']['text/csv']
してブラウザに貼り付けると、ブラウザは要求に応じて csv 形式でファイルのダウンロードを開始します。特にこれは過去に機能していたので、何が起こっているのか本当にわかりません。
基本的に私のコードは次のとおりです。
他の誰かが以前にこの問題を見たことがありますか? ドライブ上の Google スプレッドシート ファイルを削除して再度追加する必要がありますか?
編集:更新
そのため、Googleドライブのファイルのアクセス許可を、ファイルを共有した人だけがアクセスできるものから、すべての人がアクセス/編集できるように変更した後、ファイルにアクセスしてダウンロードすることができました. client_secret.json ファイルは、特定の Google ドライブ ユーザーが安全に認証できるようにするものですか、それとも、その特定のセッションで誰でも Google API にアクセスできるようにする一般的なキーですか? ファイルが限られた一連の電子メール アドレスとのみ共有されている場合、http 要求で送信する必要がある特別なデータはありますか?