Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Facebook Connect problem, facebook / php-sdk
indexx
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 20.06.2008

Ostrzeżenie: (0%)
-----


Witam

Męczę się z pewnym problemem odnośnie logowania z konta facebook na stronie, dane pobieram, wszystko jest ok ale za żadne skarby nie mogę wywołać pozwoleń dot email, tzn pobieram tylko podstawowe dane, a potrzebuję jeszcze email

Normalne wywołanie to:
  1. $facebook->getLoginUrl();


a, żeby uzyskać pozwolenie powinien wyglądać tak:

  1. $facebook->getLoginUrl(array('perms'=> 'email'));



Link nie zmienia się, a powinno zostać doklejone &perms=email

Ale niestety nie działa, czy ktoś już korzystał z tego i może wie jak ten problem rozwiązać?

Ten post edytował indexx 25.03.2011, 12:25:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
#luq
post
Post #2





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Dlaczego mi dziś nikt nie wierzy (IMG:style_emoticons/default/sad.gif)

http://apps.facebook.com/luq-foo

Kod:
  1. <?php
  2. require_once './facebook.php';
  3.  
  4. $facebook = new Facebook(array(
  5. 'appId' => 'xxx',
  6. 'secret' => 'xxx',
  7. 'cookie' => true,
  8. 'xfbml' => true,
  9. ));
  10.  
  11. $session = $facebook->getSession();
  12. echo '<pre>';
  13. print_r( $session );
  14. echo '</pre>';
  15. if(!$session){
  16. $url = $facebook->getLoginUrl(array(
  17. 'canvas' => 1,
  18. 'fbconnect' => 0,
  19. 'req_perms' => 'email'
  20. ));
  21. echo "<script type='text/javascript'>top.location.href = '$url';</script>";
  22. exit();
  23. }
  24. else{
  25. echo '<pre>';
  26. print_r($facebook->api('/me'));
  27. echo '</pre>';
  28. }
  29. ?>


Po prostu jak masz sesje dla aplikacji i tą aplikację usuniesz z "Aplikacje, z których korzystasz" to dalej masz przydzieloną sesję do niej bo jest ona przydzielana na określony czas...

@up
Cytat
Cytat
Cytat
Zapisać do bazy? A po co? Nie widzę najmniejszego sensu.


po to zeby wyslac userowi email, nawet jesli nie uzywa akurat aplikacji. Po to miedzy innymi sa te smieszne hashowane adresy email ktore leca przez facebook.com(z tego co pamietam zapisywanie innych w Twojej bazie jest niezgodne z regulaminem, ale i tak wszyscy to robia).

Ale to co zwróci getLoginUrl()?

Cytat
Cytat
Sesje możemy pobrać (a właściwie to głównie o access_token chodzi) przez metodę getSession()

sesja to nie do konca jest access token. Access token pobierasz za pomoca getAccessToken smile.gif

Aj tam czepiasz się słówek ;P Oczywiście chodziło mi o to że sesja jest złożona z access_token
  1. /**
  2.   * Gets a OAuth access token.
  3.   *
  4.   * @return String the access token
  5.   */
  6. public function getAccessToken() {
  7. $session = $this->getSession();
  8. // either user session signed, or app signed
  9. if ($session) {
  10. return $session['access_token'];
  11. } else {
  12. return $this->getAppId() .'|'. $this->getApiSecret();
  13. }
  14. }


Ten post edytował #luq 29.03.2011, 01:00:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 00:41