Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][FB] generowanie tokena
Forum PHP.pl > Forum > PHP
grzes999
Witam

Piszę aplikację, która pobiera wpisy z dane strony na facebooku.
Wszystko mi działa jak należy pobiera się, wyświetla.
Jednak mam problem bo aby pobrać te dane to muszę access_token.
I tutaj jest problem bo nie mam pojęcia jak go generować. Przekopałem setki stron ale nic mi nie działa :/
Moja ostatnia próba

  1. function token($id,$secret,$redirect_uri,$exchange_token,$kod) {
  2. $url = "https://graph.facebook.com/oauth/access_token?client_id=".$id."&client_secret=".$secre."&redirect_uri=".$redirect_uri.
  3. "&grant_type=fb_exchange_token& fb_exchange_token=".$exchange_token;
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL, $url);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  8. curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
  9. $kod = curl_exec($ch);
  10. $return = json_decode($kod, true);
  11. curl_close($ch);
  12. return($url);
  13. }


Generuje taki błąd:

"error": {
"message": "Error validating application. Cannot get application info due to a system error.",
"type": "OAuthException",
"code": 101
}

Ja już nie mam pomysłów jak można to zrobić. Wiem, że cały skrypt działa gdyż generowałem sobie tokena na stronie

Za wszystkie podpowiedzi będę bardzo wdzięczny. Bo mi się już pomysły skończyły :/
Inscure
Access token to czasem nie jest podawany przez FB gdy tworzysz aplikację?
cudny
OAuth dla wszystkich serwisów działa tak samo.
Secret token powinieneś dostać przy utworzeniu Aplikacji.
W chwili uwierzytelnienia i nadania uprawnień przez usera dostajesz access token

Kombinuj
grzes999
Jest nadawany; ale wygasa i trzeba go generować w momencie wygaśnięcia i o to mi głównie chodziło; ale już chyba sobie poradziłem z tym problemem smile.gif
Gdy by ktoś miał z tym problem oto kod

  1. function get_token($id,$idsecret,$tok,$rederict)
  2. {
  3. $app_id = $id;
  4. $app_secret = $idsecret;
  5. $my_url = $rederict;
  6. $access_token = $tok;
  7.  
  8. $code = $_REQUEST["code"];
  9. if (isset($code)) {
  10. $token_url="https://graph.facebook.com/oauth/access_token?client_id="
  11. . $app_id . "&redirect_uri=" . urlencode($my_url)
  12. . "&client_secret=" . $app_secret
  13. . "&code=" . $code . "&display=popup";
  14. $response = file_get_contents($token_url);
  15. $params = null;
  16. parse_str($response, $params);
  17. $access_token = $params['access_token'];
  18. }
  19. $graph_url = "https://graph.facebook.com/me?"
  20. . "access_token=" . $access_token;
  21. // $response = curl_get_file_contents($graph_url);
  22. $decoded_response = json_decode($response);
  23. if ($decoded_response->error) {
  24. if ($decoded_response->error->type== "OAuthException") {
  25. // Retrieving a valid access token.
  26. $dialog_url= "https://www.facebook.com/dialog/oauth?"
  27. . "client_id=" . $app_id
  28. . "&redirect_uri=" . urlencode($my_url);
  29. echo("<script> top.location.href='" . $dialog_url
  30. . "'</script>");
  31. }
  32. else {
  33. echo "other error has happened";
  34. }
  35. }
  36. else {
  37. // success
  38. return $access_token;
  39. }
  40. }
cudny
Nic nie gasnie. Mam chyba ze 3 serwisy polaczone z fb
grzes999
Cytat(cudny @ 19.02.2013, 19:40:03 ) *
Nic nie gasnie. Mam chyba ze 3 serwisy polaczone z fb


No to dziwne bo mi wygasał jeżeli chciałem mieć uprawnienia do publikowania i odczytywania zawartości tablicy :/
W każdym bądź razie wszystko już działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.