Używam Facebook Query Language (FQL), aby uzyskać informacje o użytkowniku, gdy znam już jego identyfikator. Kiedy wprowadzam następujący adres URL do przeglądarki Firefox, zwraca on poprawny kod XML dla żądania:
http://api.facebook.com/method/fql.query?query=SELECT nazwa FROM użytkownika WHERE uid= **”
Mianowicie zwraca nazwę użytkownika.
Uwaga: proszę nie sugerować używania Graph API, ponieważ w rzeczywistości będę używał FQL do rzeczy, które nie są zaimplementowane w Graph, ale jak sieci, to tylko prosty przykład.
ALE, kiedy przechodzę do strony w mojej witrynie, która wykonuje następujący kod PHP:
$url = 'http://api.facebook.com/method/fql.query?query=SELECT name FROM user WHERE uid=**********';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo($response);
Widzę:
Method Not Implemented
Invalid method in request
To również nie powinno stanowić problemu z uwierzytelnianiem, nazwa jest czymś, co jest publicznie dostępne.
Aby uzyskać więcej informacji, kiedy wprowadzam jakiekolwiek zniekształcone żądanie FQL, strona PHP poprawnie zwraca błąd XML, tak jak w przypadku wpisywania adresu URL w Firefoksie. Dopiero gdy wprowadzę PRAWIDŁOWO UFORMOWANE żądanie FQL, różni się ono od tego, co widzę w Firefoksie, a mianowicie daje powyższy błąd, który nie jest nawet XML.
Jakieś pomysły? Dzięki.
2 odpowiedzi
Czy poprawnie kodujesz parametry zapytania? Wypróbuj coś takiego:
$query = 'SELECT name FROM user WHERE uid=**********';
$url = 'http://api.facebook.com/method/fql.query?query=' . rawurlencode($query);
Możesz też użyć Facebook PHP SDK, który zrobi to automatycznie za Ciebie.
Nie wiem zbyt wiele o komunikatach o błędach związanych z FQL, ale zapytanie SQL ma być uciekinierem adresu URL (urlencode - http://php.net/manual/en/function.urlencode.php). Być może może to pomóc w twoim błędzie.
Podobne pytania
Powiązane pytania
Nowe pytania
php
PHP to szeroko stosowany, wysokopoziomowy, dynamiczny, zorientowany obiektowo i interpretowany język skryptowy przeznaczony głównie do tworzenia stron WWW po stronie serwera. Używane w przypadku pytań dotyczących języka PHP.