Toon posts:

[php/Zend] Problemen met LinkedIn api

Pagina: 1
Acties:

  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 01-06 19:06
Ik probeer gebruik te maken van de LinkedIn API (met Oauth Authentication d.m.v. Zend Framework) om in te loggen op een website. Ik maak gebruik van deze class: http://www.formatix.eu/en/php-linkedin-api-zend-oauth.html

Ik krijg nu onderstaande foutmelding:
code:
1
2
3
4
5
6
7
Fatal error: Uncaught exception 'Zend_Uri_Exception' with message '$uri is not a string' in /home/(..)/public_html/Zend/Uri/Http.php:174 Stack trace:
#0 /home/(..)/public_html/Zend/Oauth/Http/UserAuthorization.php(45): Zend_Uri_Http::fromString(NULL)
#1 /home/(..)/public_html/Zend/Oauth/Consumer.php(145): Zend_Oauth_Http_UserAuthorization->getUrl()
#2 /home/(..)/public_html/Zend/Oauth/Consumer.php(168): Zend_Oauth_Consumer->getRedirectUrl(NULL, NULL, NULL)
#3 /home/(..)/public_html/zend_oauth/LinkedIn.php(65): Zend_Oauth_Consumer->redirect()
#4 /home/(..)/public_html/zend_oauth/LinkedIn.php(124): linkedIn->connect()
#5 {main} thrown in /home/(..)/public_html/Zend/Uri/Http.php on line 174


Ik probeer te ontdekken waar deze fout vandaan komt, maar ik kom er niet uit. ‘$uri is not a string’ is de uitkomst van de functie fromString() uit Zend/Uri/Http.php, maar ik kan niet ontdekken waar die functie wordt aangeroepen. De $uri die wordt gebruikt is helemaal leeg, dus ik ben erg benieuwd welke waarde wordt verwacht.

Ik loop dus nu vast bij het debuggen. Hoe kan ik ontdekken door welk script die functie wordt aangeroepen?

[Voor 17% gewijzigd door StephanVierkant op 09-06-2011 14:53]


  • HuHu
  • Registratie: Maart 2005
  • Niet online
Er zit ook een hele stacktrace bij, dus dan kun je zo zien hoe die functie wordt aangeroepen. Ergens wordt een string verwacht, maar wordt null meegegeven. Waarschijnlijk is er dus geen URL om via in te loggen.

  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 01-06 19:06
Ondanks de stracktrace, kom ik er niet helemaal uit.

Ik loop nu hier vast:
PHP: Zend/Oauth/Consumer.php
159
160
161
162
163
164
165
166
167
168
169
170
171
    public function redirect(
        array $customServiceParameters = null,
        Zend_Oauth_Token_Request $token = null,
        Zend_Oauth_Http_UserAuthorization $request = null
    ) {
        if ($token instanceof Zend_Oauth_Http_UserAuthorization) {
            $request = $token;
            $token = null;
        }
        $redirectUrl = $this->getRedirectUrl($customServiceParameters, $token, $request);
        header('Location: ' . $redirectUrl);
        exit(1);
    }
De waarde $customServiceParameters wordt daar op NULL gezet en dat is juist het probleem. Of zie ik dat verkeerd?

  • Cartman!
  • Registratie: April 2000
  • Niet online
Hij wordt null als jij niks meegeeft aan die functie, je moet dus even uitzoeken wat die customServiceParameters is en dat dan meegeven aan die functie.

  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 01-06 19:06
In het voorbeeld dat wordt gegeven staat "$consumer->redirect();". Er worden dus geen parameters meegegeven. Kan het zijn dat die parameters op een andere manier gegeven zouden moeten worden?

  • Slurpie
  • Registratie: Oktober 2004
  • Laatst online: 11:34
Ja via de options van de constructor.

  • Kwastie
  • Registratie: April 2005
  • Laatst online: 11:28

Kwastie

Awesomeness

Waarschijnlijk zit jou probleem NIET in de code van Zend, maar op de manier hoe jij het aanroept.

Geef eens wat relevante code die jij geschreven hebt.

Lees dit eerst eens door:
http://framework.zend.com...d.oauth.introduction.html

De tutorial komt uit Januari 2010, we zijn bijna 1.5 jaar verder, mogelijk is er iets veranderd aan de API van Zend of LinkedIn

When I get sad i stop being sad and be awesome instead


  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 01-06 19:06
Kwastie schreef op donderdag 09 juni 2011 @ 23:15:
Lees dit eerst eens door:
http://framework.zend.com...d.oauth.introduction.html

De tutorial komt uit Januari 2010, we zijn bijna 1.5 jaar verder, mogelijk is er iets veranderd aan de API van Zend of LinkedIn
Dank, ik heb de oplossing gevonden! 'siteUrl' ontbrak in de aanroep, in die 1,5 jaar is inderdaad de API gewijzigd.

Had ik de oplossing ook kunnen vinden door middel van debuggen, zonder de documentatie te hoeven napluizen? Ik kwam er nu redelijk snel achter, maar als het dieper in de documentatie was verstopt, had ik het niet ontdekt.

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01-06 22:36

MueR

Moderator Devschuur®

is niet lief

Als het een parameter is die jij mee moet sturen naar de API: nee.
Als het een parameter is die vanuit de API terug komt: ja.

Anyone who gets in between me and my morning coffee should be insecure.
Breng nu uw applicatie naar de kloot. Dat is veel beter! Nu samen met klootopslag. Voor maar €9,95. Doei doei!


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 10:59

Ventieldopje

I'm not your pal, mate!

Was het maar zo'n feest dat we alles konden debuggen, documentatie scheelt toch echt een hoop tijd!

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee