[Perl] Flickr::Upload auf Webserver all-inkl.com

jc-freak

Mitglied
Ein fröhliches "Hallo" alle miteinander,
ich habe folgendes Problem.

Ich habe die Techniker von all-inkl.com gebeten auf meinem Server ein API von Flickr in vollem Funktionsumfang, also sprich mit allen nötigen anderen Libraries zu installieren.
Sie haben dies freundlicherweise getan und nun wollte ich mich ans Werk machen das Ganze zu nutzen.

Flickr::Upload

Im Prinzip will ich erstmal, nur zum testen ob es geht, eine einzige Bilddatei auf Flickr hochladen. Doch da sagt mir das Testscript bereits, dass der Upload fehlschlägt.

Hier mal das ganz einfache Prinzip (eigentlich)

Code:
#!/usr/bin/perl -w
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";

            use Flickr::Upload;

            my $ua = Flickr::Upload->new(
                    {
                            'key' => 'DERFLICKRKEY',
                            'secret' => 'DASFLICKRSECRET'
                    });
            $ua->upload(
                    'photo' => '/www/htdocs/v0xxxxx/fotos/irgeneinfoto.jpg',
                    'auth_token' => 'DERFLICKRTOKEN',
                    'is_public' => 1,
                    'is_friend' => 1,
                    'is_family' => 1
            ) or die "Failed to upload image.";

Kann mir da jemand behilflich sein? Die Herren von all-inkl.com wollen denen auf meine erste E-Mail hin nicht näher nachgehen. :-(
Obwohl Sie ja das ganze für mich installiert haben, da sie wohl dachten "Hm nette API"

grüße
jc-freak
 
'n Abend!

Da du den Testcode 1:1 aus der Dokumentation übernommen hast, würde ich zuerst mal überprüfen ob das Bild im angegebenen Pfad auch wirklich existiert (Groß/Kleinschreibung etc.), dann sicherstellen dass ich die Token richtig abgetippt habe und wenn das immer noch nicht hilft den Code von Flickr::Upload nehmen, inline in mein Testskript hauen und mir eine Debug-Nachricht nach der anderen ausgeben lassen...
Ansonsten läuft das hier auf pures Raten hinaus.

Gruß
Enum
 
Danke für deine Antwort.

Also ich habe selbstverständlich geprüft ob das Bild vorhanden ist.

Der Code kann ja auch im Prinzip 1:1 übernommen werden, ist ja nun nichts Spezielles was da ausgeführt wird.

Den key, secret und token habe ich natürlich an meinen Flickr Account angepasst.

Wie kann ich mir den weitere Debug Nachrichten ausgeben lassen.
Beschäftige mich auch erlichgesagt erst das dritte mal mit Perl.

schönen Sonntag noch
 
Hi!

Wie kann ich mir den weitere Debug Nachrichten ausgeben lassen.
Beschäftige mich auch erlichgesagt erst das dritte mal mit Perl.
Na dann bist du beim Kamel richtig... ;)

Du musst den Quellcode von Flickr::Upload natürlich modifizieren.
Damit Du nichts kapput machst, lässt Du am besten das .pm File in Ruhe und bindest es - ohne POD - als Quellcode direkt ein.
Wenn Du das Paket lokal nicht zur Verfügung hast (Du hast es dir ja auf den Server packen lassen...) clickst Du einfach im CPAN auf "Source".
Anschließend musst Du nur noch warn() Anweisungen setzen, wo immer es auch passt. Oder print STDERR, was weis ich.

Im Wesentlichen geht es aber nicht darum einen Fehler im Code zu finden, sondern warum Dein Server nicht will -
ich hab' gerade sowohl das Modul, das flickr_upload Skript als auch Dein Skript oben erfolgreich getestet:
Code:
lenny:~$ vim .flickrrc # einstellen der token für flickr_upload
lenny:~$ flickr_upload --progress upload.png
upload.png: 100% [====================================== ]D 0h00m18s
Waiting for upload results (ctrl-C if you don't care)...
upload.png is at http://www.flickr.com/tools/uploader_edit.gne?ids=4002784042
lenny:~$ cat flickr.pl 
#!/usr/bin/perl -w

use strict;
use Flickr::Upload;

my $ua = Flickr::Upload->new({
    'key' => '...'
,   'secret' => '...'
});

$ua->upload(
    'photo' => '/.../upload.png'
,   'auth_token' => '...'
,   'is_public' => 1
,   'is_friend' => 1
,   'is_family' => 1
)
or die "Failed to upload image.";

lenny:~$ time ./flickr.pl 

real    0m14.621s
user    0m0.212s
sys     0m0.028s
lenny:~$


Wenn Du Dir also 100%ig sicher bist, nicht nur die richtigen Token sondern auch die richtigen an der richtigen Stelle zu verwenden...
fällt mir als mögliche Ursache eigentlich nur noch ein dass Du auf dem Server nicht die Rechte hast, HTTP Requests auszuführen.

Gruß
Enum

PS: Bei den Tests ist ein sehr vielfältiger Flickr-Account herausgekommen...
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück