Autor Zpráva
Stepanka
Profil *
Zdravím všechny,
chtěla bych se zeptat - nezkoušel někdy někdo psát skript v php, který by uměl uploadovat fotky na server flickr.com? Já už se s tím trápím několik dnů a absolutně se mi nedaří žádná úspěšná autentizace uživatele..

Asi je to taková záležitost, kterou se moc lidí nezabývá, ale budu moc ráda za nějaké rady.

Předem děkuju a mějte se.
bukaj
Profil
Stepanka
Viz Flickr Services.

*edit: odkaz opraven.
Stepanka
Profil *
bukaj
Odkaz Ti nefunguje, ale určitě jsi měl na mysli adresu http://www.flickr.com/services/api/. Tu já samozřejmě mám, pročetla jsem tam úplně všechno a všechno vyzkoušela. Před pár dny jsem dělala podobný upload, ale na server picasa.google.com, a šlo to v pohodě. Tady tento je ale strašně divný, pořád hází několik fatal errorů. Proto bych potřebovala někoho, kdo už to dělal.. Ale je to taková *** že to asi ještě nikdy nikdo nezkoušel :-)
Stepanka
Profil *
Upload fotek už si dodělám, ale moc by mi pomohlo, kdyby někdo věděl, jak udělat tu autentizaci uživatele. Prostě aby se uživatel se jménem "xyz@yahoo.com" s heslem "abcdef" přihlásil na flickr.com bez toho, aniž by tento server musel navštívit - tzn. přes php skript.
panhuhu
Profil
Můžeš použít phpFlickr. Ukázka přihlášení ze stránek projektu


<?php
ini_set("error_reporting ", E_ALL);
require_once("phpFlickr/phpFlickr.php");
// Create new phpFlickr object
$f = new phpFlickr("[API Key]","[Auth Secret]");
$f->enableCache(
    "db",
    "mysql://[DB User]:[DB Password]@[DB Server]/[DB Name]"
);

$f->auth();
$token = $f->auth_checkToken();

// Find the NSID of the username inputted via the form
$nsid = $token['user']['nsid'];

// Get the friendly URL of the user's photos
$photos_url = $f->urls_getUserPhotos($nsid);

// Get the user's first 36 public photos
$photos = $f->photos_search(array("user_id" => $nsid, "per_page" => 36));

// Loop through the photos and output the html
foreach ((array)$photos['photo'] as $photo) {
    echo "<a href=$photos_url$photo[id]>";
    echo "<img border='0' alt='$photo[title]' ".
        "src=" . $f->buildPhotoURL($photo, "Square") . ">";
    echo "</a>";
    $i++;
    // If it reaches the sixth photo, insert a line break
    if ($i % 6 == 0) {
        echo "<br>\n";
    }
}

?>
Stepanka
Profil *
panhuhu
To už jsem taky zkušela, ale hází mi to chybu: DB Error: connect failed.
Přitom nějak nerozumím tomu, k čemu je tam potřeba databáze.

Když se uživatel zaregistruje, získá akorát ty čísla z řádku 5: ($f = new phpFlickr("[API Key]","[Auth Secret]");)... Takže podle mě by automaticky mělo stačit, když tam zadám ty svoje čísla.

Tak k čemu je v tomto případě databáze, nevíš?
Stepanka
Profil *
Tak databáze slouží jen pro cachování. Ale i když tam mám funkční databázi, tak mě to pokaždé, když zavolám ten skript (a nejsem na yahoo.com přihlášená) hodí na přihlašovací stránku, ať vložím své jméno a heslo. Jenže ten skript by měl sloužit právě na to, aby uživatel nemusel vstupovat na tu přihlašovací stránku a přihlašovat se.

A když přihlášená jsem a zavolám ten skript, tak to hodí chybu "The POST method is now required for all setters.".
bukaj
Profil
Stepanka
tak mě to pokaždé, když zavolám ten skript (a nejsem na yahoo.com přihlášená) hodí na přihlašovací stránku, ať vložím své jméno a heslo.
Bohužel, ale takhle mají na Flickru autentifikaci udělanou. Aplikace přesměruje uživatele na přihlašování, uživatel se přihlásí tam, a pokud aplikaci důvěřuje, dá jí práva na vykonávání. Flickr pak přesměruje uživatele zpátky na stránku, která žádala o práva, s jedinečným identifikátorem přihlášení. Je to asi nejbezpečnější metoda, jak toto přihlašování dělat. Na velice podobném principu funguje např. OpenID.
Stepanka
Profil *
bukaj
Děkuju moc za informace, které jsi mi napsal. Viděla jsem ale stránky, které asi stejným způsobem odesílali nějaká data na flickr.com. Sice jsem to netestovala, ale bylo mi řečeno, že to údajně "musí" jít..

Já mám vyřešit takový problém, u kterého uživatel to jméno na webu zadávat nemůže. On na tom webu vůbec nebude, bude, dejme tomu, někde venku v přírodě s mobilem v ruce, vyfotí si letícího orla a tuto fotku bude chtít poslat na flickr.com. Takže musí své jméno a heslo zadat v mobilu a tyto údaje přijdou na nějaký server (nevím jaký, já zpracovávám jen jeho část). A tento server musí obsahovat php skript, který já právě píšu. To znamená vzít si ty údaje jako je jméno a heslo (+ tu fotku, název, popis, atd.) a přes ten php skript odeslat automaticky tuto fotku na flickr.
Jo a ještě musím dodat, že já to testuju na svých údajích, tzn. vkládám moje konkrétní jméno, heslo a nějakou moji fotku z disku. Aby to potom běželo úplně, budou se tam dosazovat jiné proměnné, které budou už od běžných uživatelů, ale to už nebude moje starost. Čili já když to tvořím, sedím u prohlížeče a přihlašovat se v průběhu běhu skriptu můžu, ale ten běžný uživatel to potom dělat nemůže, nebude u toho sedět, jako teď já.
Doufám, že jsem to napsala aspoň trochu srozumitelně.

Když jsem dělala podobnou věc u serveru picasa.google.com, obsahoval ten skript jméno, heslo, cestu k fotce z disku, a když jsem ten skript zavolala, fotografii vložil. Tak se mi to líbilo :-)
Ale tady ten dělá problémy :-(

Zajímalo by mě teda, jestli je to opravdu možné udělat. Jestli to vůbec jde..
panhuhu
Profil
Stepanka
Právě že ne. Jak říká bukaj, jinak to dle mého názoru nebude.
Stepanka
Profil *
Třeba tady tyto stránky dělají to samé: www.shozu.com
Zajímalo by mě jak.. I když jsem to u nich nijak netestovala, tak funkčnost nemůžu zaručit..
Stepanka
Profil *
A nevíte, proč neposkytujou taky skript, který by toho uživatele přihlásil? Šel by vůbec takový skript vytvořit?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: