PHP [YQL] Wie mit YQL Bilder von flickr abrufen

asseskiller

Lt. Junior Grade
Registriert
Sep. 2005
Beiträge
447
Hi Leute,

ich werde aus der YQL-API nicht so richtig schlau.
Was für einen Befehl muss ich ausführen, damit ich auf flickr eingestellte Fotos abrufen kann?

Bin für jede Hilfe dankbar.

Bye
 
Sorry, das hilft mir leider nicht weiter.

Ich kann aus diesem Querey auf kein Bild schließen.
Der YQL Query ist verständlich aber ich weiß nicht wie ich dann beispielsweise 1 bestimmtes bild letztendlich in einem img-Tag ausgebe.
Wäre klasse wenn du mir mal ein Bespiel geben könntest wie ich aus diesem Query einen Bildpfad saugen kann.

EDIT

Hab mir mal den Link hier angeschaut. Da gehts nicht um Bilder sondern um einen Wetterbericht. Aber auch hier kann man nur den gesamten Wetterbericht ansehen und sich nicht einzeln Temperatur und Wetterstatus usw. heraussaugen.
Wenn soetwas mit YQL nicht möglich ist, dann bin ich sehr endtäuscht.

Sorry das ich immer hier so nerve aber ich muss das ganze unbedingt wissen
 
Zuletzt bearbeitet:
Da steht doch: "and returns the results in either XML or JSON format." gib doch mal mit var_dump das Resultat zurück, dann weist du mehr.

Wenn du http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM flickr.photos.search WHERE text="Cat" aufrufst bekommst du folgenden XML-Content zurück:

Code:
<query yahoo:count="10" yahoo:created="2009-12-15T12:41:27Z" yahoo:lang="en-US" yahoo:updated="2009-12-15T12:41:27Z" yahoo:uri="http://query.yahooapis.com/v1/yql?q=SELECT+*+FROM+flickr.photos.search+WHERE+text%3D%22Cat%22">
−
<diagnostics>
<publiclyCallable>true</publiclyCallable>
−
<url execution-time="847">
http://api.flickr.com/services/rest/?method=flickr.photos.search&text=Cat&page=1&per_page=10
</url>
<user-time>849</user-time>
<service-time>847</service-time>
<build-version>3805</build-version>
</diagnostics>
−
<results>
<photo farm="3" id="4187651932" isfamily="0" isfriend="0" ispublic="1" owner="38876439@N04" secret="f6268f2a73" server="2747" title="Looker"/>
<photo farm="5" id="4186887721" isfamily="0" isfriend="0" ispublic="1" owner="51035644485@N01" secret="650a08ac5b" server="4006" title="2009-12-15-02"/>
<photo farm="3" id="4187656086" isfamily="0" isfriend="0" ispublic="1" owner="41255221@N02" secret="d0d46813fe" server="2730" title=""/>
<photo farm="3" id="4186883449" isfamily="0" isfriend="0" ispublic="1" owner="62584399@N00" secret="2705c21576" server="2688" title="Muffi"/>
<photo farm="5" id="4186888471" isfamily="0" isfriend="0" ispublic="1" owner="28825798@N06" secret="ba4ee56d5c" server="4011" title="Puddle cat"/>
<photo farm="3" id="4187651362" isfamily="0" isfriend="0" ispublic="1" owner="98026061@N00" secret="e7672660cf" server="2611" title="Ibis's beloved cats"/>
<photo farm="3" id="4186881443" isfamily="0" isfriend="0" ispublic="1" owner="37282814@N05" secret="1b4b1c40a2" server="2446" title="Cat costume suit"/>
<photo farm="3" id="4186886269" isfamily="0" isfriend="0" ispublic="1" owner="43065823@N05" secret="73b0f800bb" server="2552" title="Venetian Cat"/>
<photo farm="3" id="4187656448" isfamily="0" isfriend="0" ispublic="1" owner="25800322@N02" secret="5d22c7d459" server="2755" title="cats"/>
<photo farm="3" id="4186889793" isfamily="0" isfriend="0" ispublic="1" owner="38876439@N04" secret="59ddfd9946" server="2537" title="Mama Cat"/>
</results>
</query>
<!-- total: 850 -->
−
<!--
 yqlengine3.pipes.ch1.yahoo.com uncompressed/chunked Tue Dec 15 12:41:26 GMT 2009 
-->

Also musst du doch nur per PHP diese URL aufrufen, die Antwort in eine Variable speichern und mit einem XML-Parser verarbeiten.
 
Zuletzt bearbeitet:
Alo ich weiß nicht ob ich zu blind bin aber ich kann dort keinen Bildpfad erkennen den ich in einem img-tag unter src="" einfügen könnte.
Abgesehen davon weiß bekomme ich es nicht hin in das SQL-Statement einzufügen das ich nur Bilder von Usern haben will die beispielsweise eine bestimmte guid haben.

Code:
select * from social.profile where guid="XYZ123"
Das gibt mir ja meine ganzen Userdaten aus. Ich weiß aber nun nicht wie ich z.b. Bilder die der User gemacht hat ausgebe.

Das hier funktioniert zumindest nicht:
Code:
select * from flickr.photos.search where guid="XYZ123"

Habe ich nen grundsätzlichen Denkfehler? Ich kann in der YQL-API auch nirgendwo finden was ich mit den Selects für felder abrufen kann. Wenn ich daneben auf DESC klicke dann bekomme ich nur die Felder die ich mit WHERE abfragen kann. Diese Felder sollten ja auch identisch sein sind es aber anscheinend nicht. Ich kann zumbeispiel nicht sagen:
Code:
select has_geo from flickr.photos.search where has_geo="true"
 
Schau dir doch mal die URL zu einem Bild an

Code:
http://farm3.static.flickr.com/2280/2235608172_35c4b3407a.jpg

und schau die mal eine XML-Zeile an:

Code:
<photo farm="5" id="4192552212" isfamily="0" isfriend="0" ispublic="1" owner="33781753@N05" secret="9d63d48b6e" server="4041" title="Cat"/>

wenn du das jetzt vergleichst könntest du auf folgendes kommen:

Code:
http://farm{farm}.static.flickr.com/{server}/{id}_{secret}.jpg

Wobei die Werte in {} den Attributen aus der XML-Zeile entsprechen.
 
Zurück
Oben