2013-06-11 7 views
8

OK. Nie mam pojęcia, jak to zrobić, ale będziesz musiał mówić do mnie jak 3-latek. Znam PHP, HTML, CSS i maleńki kawałek javascriptu. Chcę być w stanie stworzyć stronę, która dostanie facebook użytkownika i sprawdzi, czy podobała mu się moja strona na Facebooku (https://www.facebook.com/MrDarrenGriffin). Jeśli tak, przekierowanie przekieruje ich na stronę. Jeśli jednak nie, powie im, że aby przejść do strony pobierania, muszą polubić tę stronę. Metoda upodobań może być z osadzonym jak przycisk w kodzie. Po tym, jak polubią tę stronę, ponownie przejdzie kontrolę, a jeśli strona mi się spodobała, przekieruje ją do sekcji pobierania (lub określonej strony).Sprawdź, czy zalogowany użytkownik podoba mi się moja strona na Facebooku

góry dzięki: D

+0

W tym przypadku chciałbym dokonać innego sposobu dostania Treść. –

+0

W takim przypadku wszyscy użytkownicy Facebooka mogliby z nich skorzystać. Tak więc powiedzielibyście: "jeśli podoba ci się moje rzeczy, proszę kliknij ten przycisk". Więc dlaczego tego nie robisz? – thejh

+0

Przyszedłem tutaj, spodziewając się kodu, a nie wykładu, proszę pana. Mam inne metody odblokowywania zawartości podczas mojego treningu, ale ten utknąłem. –

Odpowiedz

8

Oto kroki, aby to zrobić:

1) Musisz użyć tego krok po kroku, aby połączyć użytkownikowi na swojej stronie na Facebooku w celu zwrcania użytkownika podstawowe informacje

https://developers.facebook.com/docs/facebook-login/getting-started-web/

FB.api('/me', function(response) { 
    console.log('Good to see you, ' + response.name + '.'); 
} 

2) Po wiedząc, że użytkownik jest podłączony za pomocą facebook trzeba wydać żądanie wykres GET do Internetu nd się o tym użytkownika, że ​​lubi swoją stronę lub nie

FB.api('/me/likes/YOUR_APP_ID', function(response) { 
    console.log(response.data); 
} 

3), a następnie uruchomić logiki biznesowej (czy podjąć użytkownika do strony pobierania lub inną stronę)

kod z tutoriala powyżej podano poniżej również

<body> 
<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 'YOUR_APP_ID', // App ID 
    channelUrl : '//www.example.com/channel.html', // Channel File 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true // parse XFBML 
}); 

FB.Event.subscribe('auth.authResponseChange', function(response) { 
    if (response.status === 'connected') { 
     testAPI(); 
    } else if (response.status === 'not_authorized') { 
    $("#btnFB").show();  
     FB.login(); 
    } else { 
    $("#btnFB").show();   
     FB.login(); 
    } 
}); 

};

// Load the SDK asynchronously 
(function(d){ 
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
if (d.getElementById(id)) {return;} 
js = d.createElement('script'); js.id = id; js.async = true; 
js.src = "//connect.facebook.net/en_US/all.js"; 
ref.parentNode.insertBefore(js, ref); 
}(document)); 

function testAPI() { 
    FB.api('/me', function(response) { 
    console.log('Good to see you, ' + response.name + '.'); 
    }); 
    FB.api('/me/likes/PAGE_ID', function(response) { 
    console.log(response.data); 
    }); 
} 

Jak zdobyć page_id? Goto http://developers.facebook.com/tools/explorer/?method=GET&path=me%2Flikes%2F

To zadziałało dla mnie! :)

+0

Również tutaj jest inny pomysł, aby nie drażnić powracających użytkowników przez automatyczne zalogowanie ich do naszej aplikacji. http://developers.facebook.com/blog/post/2012/05/08/how-to--imepve-the-experience-for-returning-users/ – wakqasahmed

+1

czy to nadal działa? Ponieważ Facebook ma zasady nie wydawania read_likes dostępu do tokenów ludziom ..? –

+0

Zakazy Facebooka zachęcające użytkowników do polubienia stron, zapewniają programistom do 5 listopada aktualizowanie aplikacji. Do tego czasu powinno działać: http://thenextweb.com/facebook/2014/086/facebook-bans-incentivizing-users-like-pages-gives-developers-november-5-update-apps/ – wakqasahmed

14

Można użyć tego kodu, ponieważ jest to tak proste:

FB.api({ 
    method:  "pages.isFan", 
    page_id:  page_id, 
}, function(response) { 
     console.log(response); 
     if(response){ 
      alert('You Likey'); 
     } else { 
      alert('You not Likey :('); 
     } 
    } 
); 

to ll użytkownik user_likes pozwolenie

nadzieję, że pomoże Ci

+0

. Dziękuję bardzo za to! dokładnie to, czego potrzebowałem. Ładne i łatwe. – lupos

+0

nie działa w przypadku wersji 2.7 –

+0

Należy pamiętać, że użycie atrybutu user_likes w celu sprawdzenia, czy dana aplikacja lub funkcja podobała się, nie zostanie zatwierdzona – KarthikKPN

Powiązane problemy