簡體   English   中英

如何使用google-gdata .net API通過Picasa通過ID獲取單張照片

[英]How to get a single photo by ID from Picasa using the google-gdata .net API

我正在嘗試使用.net API庫通過Picasa通過ID獲取單個圖像。

到目前為止,我已經嘗試通過執行以下操作找到正確的呼叫:

  • 新照片(); 但是沒有構造函數參數來告訴它要獲取哪張照片
  • 新條目(); 同上
  • PicasaQuery.CreatePicasaUri; 但是我還必須指定一個albumId,但我沒有。

我似乎在API文檔中也找不到針對此的REST調用(通過它我可以完全繞過.net API)。

我當然已經在Google上進行了搜索,但是似乎沒人希望通過ID獲得單個圖像,或者我錯過了明顯的答案(或者這是一個瘋狂的情況……)。

CreatePicasaUri方法具有三種變體,其中一種可以接受帶有照片的ID。 沒錯,您將需要相冊ID,但是您應該能夠獲取該ID。

要獲取相冊及其相關信息的列表(請注意,我使用名為MyAlbum的結構來存儲相冊中的所有照片信息,以供以后在我的代碼中使用):

        Dim username As String = "default"
        Dim query As AlbumQuery = New AlbumQuery(PicasaQuery.CreatePicasaUri(username))

        Dim feed As PicasaFeed = service.Query(query)
        Dim albums As New List(Of MyAlbum)

        For Each entry As PicasaEntry In feed.Entries

            Dim ac As AlbumAccessor = New AlbumAccessor(entry)
            Dim a As MyAlbum
            a.Name = ac.AlbumTitle
            a.ImageCount = ac.NumPhotos
            a.ID = ac.Id
            albums.Add(a)

        Next

要基於照片ID查詢:

Dim query As PhotoQuery = Nothing
query = New PhotoQuery(PicasaQuery.CreatePicasaUri(username, albumID, photoID))

你寫了:

我似乎在API文檔中也找不到針對此的REST調用(通過它我可以完全繞過.net API)。

我同意您的意見, Picasa的Google API文檔未明確說明。 不是我看到的。

但是,請在https://picasaweb.google.com/data/feed/api/user/<userid>/albumid/<albumid>/photoid/<photoid>

該GET請求中至少需要2個標頭:Authorization和GData-Version。 請查閱文檔以查看這些標頭需要保留的內容。

對照片的典型要求如下:

GET https://picasaweb.google.com/data/feed/api/user/default/albumid/5549217276399652081/photoid/5549537235612315698 HTTP/1.1
GData-Version: 2
Authorization: GoogleLogin auth=..._4kdkpseUiUQaQovCNXoBd8rU8GzOHxaq5lHCzmJV4k9
Host: picasaweb.google.com

典型的響應如下:

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:exif='http://schemas.google.com/photos/exif/2007' xmlns:gphoto='http://schemas.google.com/photos/2007' xmlns:media='http://search.yahoo.com/mrss/' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;CEQGR385eyp7ImA9Wx9REU0.&quot;'>
  <id>https://picasaweb.google.com/data/feed/user/7787221111/albumid/5549217276399652081/photoid/5549537235612315698</id>
  <updated>2010-12-11T21:18:46.123Z</updated>
  <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/>
  <title>CropperCapture[65].jpg</title>
  <subtitle>Uploaded by Cropper</subtitle>
  <icon>https://lh3.googleusercontent.com/_-Mw_MhEEB_U/TQPqtox5sDI/AAAAAAAAACk/X-hS1Mf534M/s288/CropperCapture%5B65%5D.jpg</icon>
  <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://picasaweb.google.com/data/feed/api/user/7787221111/albumid/5549217276399652081/photoid/5549537235612315698?authkey=Gv1sRgCJrQ5qeYxISo5gE'/>
  <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='https://picasaweb.google.com/data/feed/api/user/7787221111/albumid/5549217276399652081/photoid/5549537235612315698?authkey=Gv1sRgCJrQ5qeYxISo5gE'/>
  <link rel='edit' type='application/atom+xml' href='https://picasaweb.google.com/data/entry/api/user/7787221111/albumid/5549217276399652081/photoid/5549537235612315698/1?authkey=Gv1sRgCJrQ5qeYxISo5gE'/>
  <link rel='alternate' type='text/html' href='http://picasaweb.google.com/lh/photo/7GvE1ehluip3iQEQtMw4_sQJQ0GDj3dCNP33YlpCH6E'/>
  <link rel='self' type='application/atom+xml' href='https://picasaweb.google.com/data/feed/api/user/7787221111/albumid/5549217276399652081/photoid/5549537235612315698?start-index=1&amp;max-results=500'/>
  <generator version='1.00' uri='http://picasaweb.google.com/'>Picasaweb</generator>
  <openSearch:totalResults>0</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <openSearch:itemsPerPage>500</openSearch:itemsPerPage>
  <gphoto:id>5549537235612315698</gphoto:id>
  <gphoto:albumid>5549217276399652081</gphoto:albumid>
  <gphoto:access>private</gphoto:access>
  <gphoto:width>261</gphoto:width>
  <gphoto:height>283</gphoto:height>
  <gphoto:size>13685</gphoto:size>
  <gphoto:checksum/>
  <gphoto:timestamp>1292102326000</gphoto:timestamp>
  <gphoto:imageVersion>41</gphoto:imageVersion>
  <gphoto:commentingEnabled>true</gphoto:commentingEnabled>
  <gphoto:commentCount>0</gphoto:commentCount>
  <gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license>
  <exif:tags>
    <exif:imageUniqueID>4d7f804c08d8b48a89ccbdfe92971a12</exif:imageUniqueID>
  </exif:tags>
  <media:group>
    <media:content url='https://lh3.googleusercontent.com/_-Mw_MhEEB_U/TQPqtox5sDI/AAAAAAAAACk/X-hS1Mf534M/CropperCapture%5B65%5D.jpg' height='283' width='261' type='image/jpeg' medium='image'/>
    <media:credit>User Name</media:credit>
    <media:description type='plain'>Uploaded by Cropper</media:description>
    <media:keywords/>
    <media:thumbnail url='https://lh3.googleusercontent.com/_-Mw_MhEEB_U/TQPqtox5sDI/AAAAAAAAACk/X-hS1Mf534M/s72/CropperCapture%5B65%5D.jpg' height='72' width='67'/>
    <media:thumbnail url='https://lh3.googleusercontent.com/_-Mw_MhEEB_U/TQPqtox5sDI/AAAAAAAAACk/X-hS1Mf534M/s144/CropperCapture%5B65%5D.jpg' height='144' width='133'/>
    <media:thumbnail url='https://lh3.googleusercontent.com/_-Mw_MhEEB_U/TQPqtox5sDI/AAAAAAAAACk/X-hS1Mf534M/s288/CropperCapture%5B65%5D.jpg' height='283' width='261'/>
    <media:title type='plain'>CropperCapture[65].jpg</media:title>
  </media:group>
</feed>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM