api("/" . Ik heb de waarde van de ID's"> api("/" . Ik heb de waarde van de ID's"> api("/" . Ik heb de waarde van de ID's" />

Friending tussen testgebruikers via API lijkt niet te werken

Ik heb een reeks testgebruikers gemaakt en probeer ze nu op een programmatische manier met elkaar te vergelijken met behulp van de PHP Facebook API. Hieronder staat een voorbeeldcode om dit te doen tussen F1 en F2.

$b = $fb->api("/" . $f1['id'] . "/friends/" . $f2['id'] . "/?method=post&access_token=" . urlencode($a[1]));
$b = $fb->api("/" . $f2['id'] . "/friends/" . $f1['id'] . "/?method=post&access_token=" . urlencode($a[1]));

Ik heb de waarde van de ID's gecontroleerd en het toegangstoken voor de toepassing is correct. $ b is ingesteld op een array met een leeg 'data'-element. Ik had een waar/fout verwacht op basis van de documentatie.

Wanneer ik me aanmeld als F1 of F2, toont geen van beide vrienden. Enig idee wat ik verkeerd doe?

Bedankt!

0
Ik raad aan om het eerst met curl (of vergelijkbaar) te laten werken en vervolgens te controleren of de PHP-code hetzelfde verzoek doet.
toegevoegd de auteur Rok Strniša, de bron

1 antwoord

Bedankt voor uw suggestie Darthenius. Ik deed het en had geen geluk. Dus ik heb wat meer dingen geprobeerd. De onderstaande code werkte uiteindelijk. Het lijkt erop dat veel gebruik wordt gemaakt van de access_tokens voor de individuele gebruikers:

$fb->setAccessToken($f1['access_token']);
$b = $fb->api('/'.$f1['id'].'/friends/'.$f2['id'], "POST");
$fb->setAccessToken($f2['access_token']);
$b = $fb->api('/'.$f2['id'].'/friends/'.$f1['id'], "POST");

Dit was in strijd met de documentatie van Facebook waarin staat dat een app-toegangstoken werkt. Op dit moment moet je een 522-uitzondering afhandelen als gebruikers al vrienden zijn.

Je kunt de huidige vrienden van een gebruiker krijgen en ze niet opnieuw vriendschap met hen aangaan:

//Could avoid checking members of this list:
$fb->setAccessToken($f1['access_token']);
$current_friends = $fb->api('/'.$f1['id'].'/friends', "GET");
0
toegevoegd