2

これまでのところ、Googleフィードを使用してユーザー/アルバムのサムネイルを表示することができました。サムネイル画像を大きく表示したい場合を除いて、すべて問題なく表示されます。大きな画像を表示できないようです。ここで何を使用すればよいかわかりません。コードは次のとおりです。

<?php
$user = '100483307985144997386';
$albumid = '5092093264124561713';
$picasaURL = "http://picasaweb.google.com/$user/";
$albumfeedURL = "http://picasaweb.google.com/data/feed/api/user/$user/albumid/$albumid";

$sxml_album = simplexml_load_file($albumfeedURL);
echo '<table cellpadding="3" cellspacing="3">';
echo "<tr>";
$i = 0;
foreach( $sxml_album->entry as $album_photo )
{   

   //$title = $album_photo->title;
    $summary = $album_photo->summary;
    // Write thumbnail to file
    $media = $album_photo->children('http://search.yahoo.com/mrss/');
    $thumbnail = $media->group->thumbnail[1];

    $gphoto = $album_photo->children('http://schemas.google.com/photos/2007/');
    $linkName = $gphoto->group->attributes()->{'url'};    
    // Direct address to thumbnail
    $thumbAddy = $thumbnail->attributes()->{'url'};    
    if($i%4==0) { echo '</tr><tr>'; } 

    echo '<td style="width:90px; overflow:hidden; word-wrap:break-word; font-size:12px;">';
    echo '<a class="fancybox-buttons" data-fancybox-group="button" href="'. $linkName . '"><img src="'. $thumbAddy . '" /></a>';         
    echo '<p>'. $summary . '</p></td>';
    $i++; 
}

echo '</tr></table>';
4

4 に答える 4

4

各写真のフィード/APIには、次のネイティブhttprestapiでアクセスできる3つの親指と大きな画像が含まれています。

"media$thumbnail":[
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/s72/DSC01612.JPG",
"height":72,
"width":48
},
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/s144/DSC01612.JPG",
"height":144,
"width":96
},
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/s288/DSC01612.JPG",
"height":288,
"width":192
}
],

LARGE ONE:

"media$group":{
"media$content":[
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/DSC01612.JPG",
"height":512,
"width":341,
"type":"image/jpeg",
"medium":"image"
} 

同様のリファレンス

クライアントを基盤となるRESTAPIにコーディングする場合、ネイティブプロトコルと、ネットワーク上にある文字ストリーム(要求/応答)をよく把握しておくと役立つことがよくあります。次に、PHP/Curlをhttpプロトコルにあるものに適合させます。

google oauthプレイグラウンドは、任意のgdata API(picasaを含む)に対して開発に関係する前後のダイアログをテストするための優れたツールです...

遊び場

これは、特定のアルバム/写真の親指と大きな写真を取得するための遊び場リクエストコードです...

GET //data/entry/api/user/rowntreerob/albumid/5682316071017984417/photoid/5682316083381958690?fields=media%3Agroup%2Fmedia%3Athumbnail%5B%40url%5D%2Cmedia%3Agroup%2Fmedia%3Acontent%5B%40url%5D&alt=json HTTP/1.1


Host: picasaweb.google.com
Authorization: OAuth ya29.AHES6ZT123y3Y5Cy3rILYg4Ah4q....
HTTP/1.1 200 OK
status: 200
gdata-version: 1.0
content-length: 756
x-xss-protection: 1; mode=block
content-location: https://picasaweb.google.com//data/entry/api/user/rowntreerob/albumid/5682316071017984417/photoid/5682316083381958690?fields=media%3Agroup%2Fmedia%3Athumbnail%5B%40url%5D%2Cmedia%3Agroup%2Fmedia%3Acontent%5B%40url%5D&alt=json
x-content-type-options: nosniff
set-cookie: _rtok=a1p2m3PiHFkc; Path=/; Secure; HttpOnly, S=photos_html=sX3EHuLxGEre_OMvR0LTPg; Domain=.google.com; Path=/; Secure; HttpOnly
expires: Wed, 16 May 2012 03:23:51 GMT
vary: Accept, X-GData-Authorization, GData-Version, Cookie
x-google-cache-control: remote-fetch
-content-encoding: gzip
server: GSE
last-modified: Fri, 06 Jan 2012 17:57:33 GMT
via: HTTP/1.1 GWA
cache-control: private, max-age=0, must-revalidate, no-transform
date: Wed, 16 May 2012 03:23:51 GMT
access-control-allow-origin: *
content-type: application/json; charset=UTF-8
x-frame-options: SAMEORIGIN

そして、上記の実行への応答は、かなりのプリントを介して実行されます...

"version":"1.0",
"encoding":"UTF-8",
"entry":{
"xmlns":"http://www.w3.org/2005/Atom",
"xmlns$media":"http://search.yahoo.com/mrss/",
"media$group":{
"media$content":[
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/DSC01612.JPG",
"height":512,
"width":341,
"type":"image/jpeg",
"medium":"image"
}
],
"media$thumbnail":[
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/s72/DSC01612.JPG",
"height":72,
"width":48
},
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/s144/DSC01612.JPG",
"height":144,
"width":96
},
{
"url":"https://lh3.googleusercontent.com/-_FFMNGPU1TQ/TtukXyN4eCI/AAAAAAAACso/EzPmut2iKVQ/s288/DSC01612.JPG",
"height":288,
"width":192
于 2012-05-16T03:11:00.470 に答える
2

サイズは、imgmaxパラメーター(imgmax = dは元の画像を意味します)を使用して指定できます。 https://developers.google.com/picasa-web/docs/2.0/reference#Parameters

于 2013-10-28T14:42:38.003 に答える
1

print_r($ album_photo)を試して、オブジェクトの正確な形式とその内容を確認しましたか?

さまざまなサイズの写真やサムネイルにアクセスするために、そのAPIで指定できる他のパラメーターがたくさんあると確信しています。ドキュメントを確認してください。

しばらく前にjson-script形式を使用してこのAPIにアクセスしましたが、メモリから指定できるオプションがたくさんあります。

于 2012-05-15T00:16:23.747 に答える
1

私はこの問題の答えを見つけようとしてインターネット全体を精査しました。誰も実際に質問に答えませんでした。読んでいる他の人、または私の将来の自分への将来の参照のために、大きな画像を取得するには、次のようにします。

echo $album_photo->content->attributes()->{'src'};

これは、WAAAAYYが本来よりも複雑であり、通常のXMLユーザーはおそらくそれを行う方法をすでに知っているでしょう。:/

于 2017-01-12T22:27:45.803 に答える