Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Photobucket api niet werkend

Pagina: 1
Acties:
  • 555 views

  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
Dag,

Ik ben al een aantal dagen aan het zoeken voor een oplossing om de photobucket API werkend te krijgen.
Op google is heel veel te vinden over verschillende fout meldingen die we krijgen alleen de opplossing die kunnen we nergens terug vinden.

Ook hebben we naar andere API's gezocht maar elke keer werkt het niet en krijgen we steeds andere foutmeldingen.

Hier op GoT kan ik geen topic's vinden over photobucket vandaar ook mijn topic.

Ik hoop dat iemand mij op het rechte pad kan zetten en dat ik weer verder kan.

De bedoeling is dat de API afbeeldingen upload in een fotoalbum naar photobucket.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
include "PBAPI-0.2.3/PBAPI.php";

/**Prepare Initial Variables **/
$secret_key = "***";
$oauth_timestamp = time();
$oauth_consumer_key = "***";
$oauth_nonce=md5(rand());
$oauth_signature_method="HMAC-SHA1";

/** Create parameters list **/
$oauth_params = array ( 
                        "oauth_timestamp"       =>$oauth_timestamp,
                        "oauth_consumer_key"    =>$oauth_consumer_key,
                        "oauth_nonce"           =>$oauth_nonce,
                        "oauth_signature_method"=>$oauth_signature_method,
                        "oauth_version"         =>"1.0",
                      );

/** Declare the Variable **/
$api = new PBAPI($oauth_consumer_key,$secret_key);

/**Now we can use the rest of code documented in the documentation of photobucket**/
$resp = $api->album('uploads')->upload(array('type' => 'image', 'uploadfile' => '@/image/1283362699.jpg', 'title' => 'my upload'))->post(); 
print '<pre>'.$resp.'</pre>';


De fout:
code:
1
Fatal error: Uncaught PBAPI_Exception (26): "CURL: failed creating formpost data" Method: Params: thrown

[ Voor 0% gewijzigd door moto-moi op 02-09-2010 07:29 . Reden: met highlighter ziet je posting er nog toffer uit :P ]


  • G70boX
  • Registratie: Juli 2004
  • Nu online
Volgens de error message lijkt het iets met cURL te maken te hebben. Kijk dus eerst eens of dat wel goed werkt. Zoeken op google naar "CURL: failed creating formpost data" geeft zo te zien wel redelijk wat oplossingen/dingen die je kan proberen.

  • Cartman!
  • Registratie: April 2000
  • Niet online
Precies, dit heeft (nog) niks met de API zelf te maken. Gooi die class open en kijk waar die exception gegooid kan worden.

  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
Cartman! schreef op donderdag 02 september 2010 @ 10:15:
Precies, dit heeft (nog) niks met de API zelf te maken. Gooi die class open en kijk waar die exception gegooid kan worden.
Ik neem aan dat je bedoelt wat de fout zegt?

code:
1
2
3
4
5
6
7
8
9
10
<?php
    protected function _loadMethodValidationMap() {
        if (!self::$method_validation_map) {
            $path = dirname(__FILE__) . '/PBAPI/data/methods.dat';
            self::$method_validation_map = unserialize(file_get_contents($path));
            if (!self::$method_validation_map) throw new PBAPI_Exception('Could not load method map', $this);
        }
        return self::$method_validation_map;
    }
?>


Verder heb ik ondertussen nog andere mensen gevraagd en die krijgen het ook niet werkend gekregen.

Er is dus iets wat wij en meerdere gebruikers fout doen.

Een voorbeeld van een website waar het wel werk is bijvoorbeeld: http://www.funpagina.eu/generator/metoyou.php wanneer je op genereer uw code klink zal hij geupload worden naar photobucket maar ik heb totaal geen ideé hoe hun het werkend gekregen hebben.

  • Cartman!
  • Registratie: April 2000
  • Niet online
Dat stukje code geeft een andere foutmelding dan jij eerder liet zien. Heb je verder wel enig idee waar je mee bezig bent? Heb je uberhaupt al iets aan debugging gedaan?

  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
Cartman! schreef op donderdag 02 september 2010 @ 21:11:
Dat stukje code geeft een andere foutmelding dan jij eerder liet zien. Heb je verder wel enig idee waar je mee bezig bent? Heb je uberhaupt al iets aan debugging gedaan?
Genoeg als ik op google nog geen 1000 pagina gehad heb weet ik het niet meer.

Zoals ik al zei zijn er wijnig mensen die deze api werkend gekregen hebben.

Als ik op google zoek krijg ik alleen maar gebruikers die er zelf ook niet uit komen en ook is er geen oplossing te vinden.

De link die ik als voorbeeld mee gaf: http://www.funpagina.eu/generator/metoyou.php werk zo te zien met flash en waarschijnlijk werk hij daarom bij hun wel..

Dus ik ga nu even op google kijken of er met flash wel iets te vinden is wanneer ik meer gevonden heb zal ik mijn reactie even editen..

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:35

Janoz

Moderator Devschuur®

!litemod

tomo-dj, ik raad je aan om de reacties die gegeven worden ook goed te lezen. Je wordt er door meerdere mensen op gewezen en toch blijf je de oplossing van je probleem op de verkeerde plek zoeken.

Je probleem zit helemaal niet in de photobucket api. Je bent nog niet eens in de buurt van de photobucket api!!

In de eerste posting wordt niet alleen gezegd dat je de fout door google moet gooien, maar G70box geeft zelfs letterlijk aan waar je op moet zoeken om je probleem op te lossen.

Als ik op google zoek dan heb ik bij de tweede link al een heel goed idee waar de fout zou kunnen liggen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
Janoz schreef op donderdag 02 september 2010 @ 21:34:
tomo-dj, ik raad je aan om de reacties die gegeven worden ook goed te lezen. Je wordt er door meerdere mensen op gewezen en toch blijf je de oplossing van je probleem op de verkeerde plek zoeken.

Je probleem zit helemaal niet in de photobucket api. Je bent nog niet eens in de buurt van de photobucket api!!

In de eerste posting wordt niet alleen gezegd dat je de fout door google moet gooien, maar G70box geeft zelfs letterlijk aan waar je op moet zoeken om je probleem op te lossen.

Als ik op google zoek dan heb ik bij de tweede link al een heel goed idee waar de fout zou kunnen liggen.
Ik heb de redactie van G70box gelezen en dit ook al op google gezocht. Ik heb bijvoorbeeld hier gekeken: http://objectmix.com/php/...ng-post-@-first-char.html daar gaat het over het @ maar dat heb ik al geprobeerd dat helpt niet.

Ook zie ik er berichten staan over dat curl mogelijk uit kan staan en ik dit even moet kijken met phpinfo() curl staat wel gewoon aan.

Ik heb echt al 100de berichten op google gelezen maar ik denk dat ik echt in de verkeerde richting zoek? Ik gebruik het volgende zoekterm "CURL: failed creating formpost data".

  • Cartman!
  • Registratie: April 2000
  • Niet online
Debugging is niet zoeken op Google maar opzoeken waarom je code niet werkt, zoek in de code op wat er precies fout gaat, als je dat weet kun je op zoek _waarom_ dat fout gaat. Blijven roepen dat meer mensen t niet werkend krijgen zegt niks natuurlijk. Je weet dat het werkt want bij die ene site gaat t goed, aan wie ligt t dan ;)

edit: kijk in die code!!! op google zoeken is geen debugging....

[ Voor 9% gewijzigd door Cartman! op 02-09-2010 21:58 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:35

Janoz

Moderator Devschuur®

!litemod

Ah, dan sluit ik me bij Cartman! aan. Je hebt werkelijk geen idee waar je mee bezig bent. De link die je aanhaalt omschrijft duidelijk een probleem dat helemaal niks met jou probleem te maken heeft (ze hebben daar iets dat ten onrechte als een fileupload behandeld wordt. Aangezien jij daadwerkelijk een foto wilt uploaden heeft die posting werkelijk helemaal niks met je probleem te maken).

Programmeren is begrijpen waar je mee bezig bent, niet doelloos maar hier en daar een beetje aan prutsen tot het ineens onverklaarbaar werkt. Bij problemen probeer je dingen uit te sluiten. Niet gokken of iets klopt, maar daadwerkelijk aantonen dat iets klopt. Via google vindt je nooit exact je probleem aangezien elk stuk code over het algemeen weer net ietsje anders is. Via google vindt je oplossingsrichtingen die je een idee kunnen geven wat je zou kunnen gaan testen. Ik zelf heb precies dezelfde termen (zonder quotes) op google gebruikt en kwam bij de tweede link al uit op een mogelijk gerelateerd probleem. Vervolgens keek ik weer naar je code en zag inderdaad dat dat wel eens het probleem zou kunnen zijn.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
Cartman! schreef op donderdag 02 september 2010 @ 21:58:
Debugging is niet zoeken op Google maar opzoeken waarom je code niet werkt, zoek in de code op wat er precies fout gaat, als je dat weet kun je op zoek _waarom_ dat fout gaat. Blijven roepen dat meer mensen t niet werkend krijgen zegt niks natuurlijk. Je weet dat het werkt want bij die ene site gaat t goed, aan wie ligt t dan ;)

edit: kijk in die code!!! op google zoeken is geen debugging....
Ik heb even alle function van de class die mijn script gebruikt en die andere function aanroepen in een bestand gezet zo kon ik makkelijk kijken en volgen wat de function doen. Nu ben ik inderdaad gekomen bij de function request in deze function word curl ook opgesart en ook zie ik curl: staan waar de error vandaan kwam.

Nu heb ik gekeken en een Method meegegeven maar dit wil nog niet werken ga ik nu wel de goede kant op of zoek ik echt in de verkeerde richting?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    protected function request($method, $uri, $params = array()) {
        $url = $this->preRequest($method, $uri, $params);
        
        $curl_opts = $this->request_params;
        
        //overridable
        if (empty($curl_opts[CURLOPT_USERAGENT])) $curl_opts[CURLOPT_USERAGENT] = __CLASS__;
        
        //static
        $curl_opts[CURLOPT_HEADER] = 0;
        $curl_opts[CURLOPT_FOLLOWLOCATION] = 1;
        $curl_opts[CURLOPT_RETURNTRANSFER] = 1;
        $curl_opts[CURLOPT_CUSTOMREQUEST] = $method;
        if ($method == 'POST') {
            $curl_opts[CURLOPT_POST] = 1;
            $curl_opts[CURLOPT_POSTFIELDS] = $params;
        }
        
        $ch = curl_init($url);
        curl_setopt_array($ch, $curl_opts);
        $data = curl_exec($ch);
        
        if ($cerror = curl_errno($ch)) {
            throw new PBAPI_Exception('CURL: '.curl_error($ch), $cerror);
        }
        
        curl_close($ch);
        
        return $data;
    }

  • Cartman!
  • Registratie: April 2000
  • Niet online
Dan ga je dus kijken wat je method is, wat zijn je params, bestaat je het bestand dat je mee wilt sturen wel echt op je filesystem, etc.

  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
Cartman! schreef op donderdag 02 september 2010 @ 22:46:
Dan ga je dus kijken wat je method is, wat zijn je params, bestaat je het bestand dat je mee wilt sturen wel echt op je filesystem, etc.
Ik had al gekeken of het bestand bestaat en dat bestaat.
Verder zijn de Params en Method niet ingevuld en word de standaard dus meegenomen.

code:
1
2
3
4
5
6
7
    public function setRequest($type = null, $subdomain = 'api', $default_format = 'xml', $request_params = array()) {
        if (!$type) $type = self::_detectRequestStrategy();
        $class = 'PBAPI_Request_'.$type;
        if (!class_exists($class)) require('PBAPI/Request/'.$type.'.php');
        $this->request = new $class($subdomain, $default_format, $request_params);
        return $this;
    }

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:35

Janoz

Moderator Devschuur®

!litemod

Al eens een aangroep naar file_exist gedaan?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
tom_swinkels schreef op donderdag 02 september 2010 @ 23:06:
Ik had al gekeken of het bestand bestaat en dat bestaat.
Hoe had je gekeken? In de CLI? Via "Explorer"? Heb je de paden ook gecontroleerd? Al eens het volledige pad ge-echo'd of geprint? Al een file_exist gedaan? Etc. etc.
Janoz schreef op donderdag 02 september 2010 @ 23:24:
Al eens een aangroep naar file_exist gedaan?
^^ Wat hij dus zegt. En als daar 't probleem niet in zit: Debuggen: Hoe doe ik dat? Dat is toch écht wel een minimum vereiste om überhaupt te kunnen werken.

[ Voor 31% gewijzigd door RobIII op 02-09-2010 23:30 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • tom_swinkels
  • Registratie: Februari 2010
  • Laatst online: 09-12-2024
RobIII schreef op donderdag 02 september 2010 @ 23:29:
[...]

Hoe had je gekeken? In de CLI? Via "Explorer"? Heb je de paden ook gecontroleerd? Al eens het volledige pad ge-echo'd of geprint? Al een file_exist gedaan? Etc. etc.


[...]

^^ Wat hij dus zegt. En als daar 't probleem niet in zit: Debuggen: Hoe doe ik dat? Dat is toch écht wel een minimum vereiste om überhaupt te kunnen werken.
Ik heb alle paden etc gekeken en die kloppen allemaal ook bestaan de bestanden gewoon.

Ik heb al het een en het ander probeeren te debuggen maar daar kom ik niet verder mee ik blijft die curl error krijgen.

Na dat ik even verder gekeken heb op de website waar het wel werkten die krijgen dus gewoon een callback van photobucket: http://www.funpagina.eu/g...e1=24&background=&save=on

*snip werving *snip*

[ Voor 8% gewijzigd door RobIII op 05-09-2010 13:10 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:35

Janoz

Moderator Devschuur®

!litemod

Voor de zoveelste keer. De foutmelding zegt : "failed creating formpost data". Mocht je niet in 1 keer begrijpen wat dat betekent dan hadden de verschillende pagina's op google je ook wel duidelijk kunnen maken dat er iets misging bij het opstellen van het request dat je van plan bent te gaan sturen. Photobucket is nog helemaal niet aan de orde bij dit probleem dus waarom je toch stug bij compleet andere plekken aan het zoeken bent is mij niet helemaal duidelijk.


Je probleem daarentegen is mij wel redelijk duidelijk en er is in dit topic al behoorlijk gehint. Maar goed, als je wilt betalen maak je maar geld over dan lever ik het je op een presenteerblaadje.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:10

Creepy

Tactical Espionage Splatterer

* Creepy mept Janoz. Ook jij mag geen werving doen, evenals de TS :P Dus dicht. Als tomo-dj het opgeeft en een foutmelding als dit echt niet begrijpt dan houd het simpelweg op.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.