[PHP]Connecties via LinkedIn Api ophalen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Emgeebee
  • Registratie: December 2009
  • Laatst online: 23:29
Beste Tweakers,

Ik zit hier al een groot deel van de avond mee te worstelen. Voor een applicatie ben ik bezig om contactpersonen via de LinkedIn Api binnen te halen om die vervolgens te gaan gebruiken. Het authoriseren lukt, ook kan ik de 'business card' (voornaam, achternaam, etc) van de ingelogde en geauthoriseerde linkedIn account ophalen dus de access token wordt afgegeven. Ik zit te worstelen met het ophalen van de 1st degree contacten. Het valt me op dat er vrij weinig tot helemaal niks te vinden is over de LinkedIn api. Misschien omdat het te simpel voor woorden is, maar ik kom er niet uit.

code:
1
2
3
4
5
6
$user = fetch('GET', '/v1/people/~:(id,firstName,lastName)');
$contacts = fetch('GET', '/v1/people/~/connections:(first-name,last-name)');
$contacts= simplexml_load_string($contacts);
    
print "Welkom $user->firstName $user->lastName.";
print$contacts->person[0]->first-name;


[Welkom Voornaam Achternaam] werkt gewoon, de contacts wordt helemaal niks mee gedaan. Misschien doe ik iets fout met het parsen van de XML, daar heb ik weinig kaas van gegeten. De fetch functie heb ik direct van de LinkedIn developer pagina af (https://developer.linkedin.com/documents/code-samples).

Alvast bedankt.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Wat doet dat streepje op regel 6? Je wil nu een constante genaamd "name" aftrekken van $contacts->person[0]->first (welke niet bestaat, naar ik aanneem) en vervolgens het resultaat daarvan printen. Ik wed dat je na die "Welkom voornaam Achternaam." het getal 0 ziet staan. ;)

Overigens zou je dit zelf ook geweten hebben als je netjes aan het ontwikkelen was op een server waarop error_reporting op E_ALL staat en display_errors op on. Je had dan twee notices gekregen die je in de juiste ricthing zouden sturen.

Anyway, vervang regel 6 eens door var_dump($contacts->person[0]); of laat desnoods zelfs die \[0] weg, dan weet je wat je terugkrijgt en wat je dus kan aanspreken. ;)

Mocht dat streepje ook daarin voorkomen, dan spreek je die waarde zo aan: $contacts->person[0]->{'first-name'}, maar mooi is anders. ;) Uiteindelijk twijfel ik eraan dat first-name erin staat trouwens, want ik zie in de docs overal netjes firstName gebruikt worden...

[ Voor 16% gewijzigd door NMe op 26-08-2014 00:01 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Cartman!
  • Registratie: April 2000
  • Niet online
Bij user parse je niet los en bij contacts wel, doet fetch() dat niet al voor je? Ookal is dat t geval gaat nog steeds 100% op wat NMe zegt.

edit: heb even de link gevolgd op desktop en die fetch() haalt json op en decode dit netjes voor je, waarom je met XML aan de slag gaat daarna is me dus een raadsel :) Waar het bij je ontbreekt nu is dus debuggen, print met var_dump() of print_r() eens op je scherm wat er in $contacts zit en je moet er toch snel genoeg uitkomen.

[ Voor 57% gewijzigd door Cartman! op 28-08-2014 22:38 ]