1

Picasa ウェブ アルバム API 用のPythonクライアント ライブラリを使用して、JPEG 画像をアルバムにアップロードしています。ただし、写真をアップロードすると、非常に圧縮されたように見えます。Picasa 3.6 には、画像を圧縮せずに元の品質でアップロードするオプションがありますが、API 内から使用できる同様のオプションはありますか?

これは、写真を作成してアルバムに挿入するために使用するコードの一部です。

upload_photo = gdata.photos.PhotoEntry()
upload_photo.summary = atom.Summary(text=title)
upload_photo.title = atom.Title(text=file_name)
upload_photo.text = atom.Text(text='Test')
upload_photo.author = atom.Author(atom.Name(text='Test Author'))
upload_photo.timestamp = gdata.photos.Timestamp(text='%i' % 
  int(time.mktime(photo_date.timetuple()) * 1000))
upload_photo.geo = gdata.geo.Where()
upload_photo.geo.Point = gdata.geo.Point()
upload_photo.geo.Point.pos = gdata.geo.Pos(text='%f %f' % (lat, lon))

imgContent = StringIO.StringIO(urlfetch.fetch('http://url.com/image1.jpg').content)

gpclient.InsertPhoto(album_or_uri=album_url, photo=upload_photo,   
  filename_or_handle=imgContent, content_type='image/jpeg')
4

1 に答える 1

3

私はこの問題を自分で解決することができましたが、それは奇妙なものであることが判明しました:-)

Google グループで Picasa データ API について尋ねたところ、API は新しい画像をアップロードするときに圧縮を行わないという意見がありました。そのため、他のコード、つまりurlfetch.

urlfetchが圧縮された JPEG 画像を取得していたことが判明しました。しかし、なぜ?設定し忘れたパラメータはありませんか?ドキュメントを調べたところ、制限は見つかりませんでした。

そして、何が起こっているのかが突然わかりました。T-Mobile のモバイル ブロードバンドを使用してインターネットに接続されている Google App Engine SDK を使用して、ローカル マシンでこれをテストしていました。また、T-Mobile はプロキシを使用して、ダウンロード時に画像を圧縮します。私の Firefox ブラウザーでは、拡張機能を使用して HTTP ヘッダーを変更し、ブラウジング中のこの圧縮を防ぎますが、もちろんこれurlfetchは行われませんでした。

これを変更すると、元の品質の JPEG がダウンロードされ、問題なく Picasa にアップロードされます。

于 2010-01-23T18:24:07.907 に答える