Linux用のYandex.DiskクライアントプロトタイプとAPIを開く

先日、Yandex はYandex.Disk APIドキュメントを開きまし 。このAPIに基づいて作成されたプログラムの例についてお話したいと思います。

Yandex.Diskには、ファイルストレージのローカルコピーをサポートするWindowsおよびMac OS X用の個別のクライアントプログラムがあります。 信じられないほど便利です! Dropboxに敬意を表さなければなりません。Dropboxは、クラウドファイルストレージを使用するまさにそのような方法を提供した最初の人のようです。

Linux用のクライアントはありませんが、Yandex.Diskは、長年にわたってオープンで実績のあるWebDAVプロトコルを使用したファイルへのアクセスをサポートしています。 LinuxカーネルでのWebDAVのサポートにより、比較的少ない血液でYandex.Disk同期クライアントのプロトタイプを作成できました。

現在のバージョンはgithubで入手できます -これは真珠の約130行のコードですが、ここではどのように動作するのかを簡単に説明します。

簡単な免責事項:これはよりプロトタイプですが、プログラムを使用して重要なデータを同期することは推奨されないためです。 クライアントには基本的なエラー処理しかなく、また、可能な限り多くのメモリ、プロセッサ、およびトラフィックを消費します。

YandexDiskサブディレクトリは、ユーザーのホームディレクトリに表示されます。このディレクトリには、Diskのファイルのローカルコピーと、davfs2ファイルシステムのマウントポイントであり、Yandexクラウド内の実際のデータへのファイルアクセスを提供する隠しディレクトリ.yadisk-davfsが含まれます。 シンクロナイザーのタスクは、これら2つのディレクトリを同じ形式で維持し、それぞれの変更を取得することです。

Yadisk-syncは、3つの重要なツールを使用してこの問題を解決します。


ローカルまたはリモートのすべての変更は、ユニゾンの起動につながります。これは、rsyncのようなプロトコルを使用し、以前の起動時に保存されたディレクトリの状態に関する知識、ファイルをコピー、削除、および編集して、両方のディレクトリに同じものが含まれるようにします。

yadisk-sync.plプログラム自体は、デバッグを簡素化するために悪魔化されていませんが、インストールおよび構成するには、「README.txt」ファイルの指示に従う必要があります。 すべてはUbuntu 11.10およびMint 12でのみテストされました。

試してみてください。このプロトタイプが興味深い開発を刺激するかもしれません。 または、Drive APIを使用して、まったく新しいプログラムとアプリケーションを作成します。

Source: https://habr.com/ru/post/J142973/


All Articles