12

私はグーグルアプリエンジンを使用して、撮影したすべての写真のフォトギャラリーサイトを作成しています。表示したい写真は、公開アルバムのグーグルプラスアカウントにあります。そのアルバムのすべての写真をアプリに自動的に表示させたいのですが。すべてのURLをデータストアの画像に保存してから、URLをテンプレートに渡して画像をレンダリングできることはわかっています。

images = LinksToImages.all()
self.renderTemplate(images)

#  Template
{% for img in images %}
<img src={{img}}>
{% endfor %}

毎回手動でURLを入力せずに、グーグルプラスアルバムのすべての画像を自動的に取得する方法があるかどうか疑問に思いました。google plus apiの使用を考えましたが、1つの公開アルバムから画像を取得するだけで、ユーザーアカウントにアクセスする必要はありません。

公開されているGoogleプラスアルバムからすべての画像または画像へのリンクを取得する方法はありますか?

4

1 に答える 1

19

これは可能ですが、Google +自体では行われないため、答えは一種のトリックです。

トリック:

Google+アルバムのすべての写真を一覧表示するには、PicasaウェブアルバムデータAPIを使用します。これが行われるべきことであるかどうかは明らかではありませんが、私がこれを書いているとき、すべてのGoogle+フォトはPicasaフォトです。

Picasaに関連するドキュメントは、アルバム内の写真の一覧表示の下にあります。


答え:

基本的に、でページを取得します

https://picasaweb.google.com/data/feed/api/user/userID/albumid/albumID

ここでUserIDalbumIDはGoogle+アルバムの値です。これで、すべての写真が一覧表示されたXmlが返されます。


説明:

userIDまたはを見つける方法がGoogle+ページから明らかでない場合がありますalbumID

IDを見つける1つの方法は、Google +で目的のアルバムに移動し、そのURLから上記のスタイルに長い数字をプラグインすることです。

具体的には、ジョン「マッドドッグ」ホールのフォトアルバム「キャンパスパーティー、ブラジル-第2版」の場合、URLを

https://plus.google.com/photos/115999964287637644901/albums/5659736500890118225

 https://picasaweb.google.com/data/feed/api/user/115999964287637644901/albumid/5659736500890118225

そこから、結果のXmlを解析し、すべての写真を一覧表示できます。必要に応じて、キャプション情報やサムネイルなども利用できます。/feed/entry/media:group/media:content画像のURLは、結果のXmlの下にあります。

PythonでXmlを解析して読み取る方法を知っていると思います。


一般化:

ユーザーのすべてのアルバムを一覧表示できるようにする必要がある場合は、以下のスタイルのURLを使用し、userIDGoogle+の番号に置き換えます。

https://picasaweb.google.com/data/feed/api/user/userID
于 2013-03-04T23:57:59.007 に答える