2014-05-01 26 views
7

Pracuję nad Androidem, używając PHP, jednak kiedy próbuję opublikować wynik na mojej ścianie Facebooka, opis jest łączony z inną aplikacją.Problem z integracją z FaceBookiem

Opis pochodzi z tej aplikacji Daily Tools i mojego rzeczywistego gry jest Just Double It

obrazu jest poniżej logo & opis jest źle

Opis: Mój opis gry + mój opis aplikacji.

Opis został automatycznie wykryty i nie został napisany przeze mnie.

Oto mój kod snippit za komentarz na Facebooku

var APP_ID="*****************"; 

window.fbAsyncInit = initFacebook; 
function initFacebook() 
{ 
    FB.init({ 
     appId : APP_ID, 
     status : true, // check login status 
     cookie : false, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 

    FB.getLoginStatus(onFacebookLoginStatus); 
}; 

(function() { 
    var e = document.createElement('script'); 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

//the login function 
function facebookLogin() 
{ 
    var loginUrl="http://www.facebook.com/dialog/oauth/?"+ 
    "scope=publish_stream&"+ 
    "client_id="+APP_ID+"&"+ 
    "redirect_uri="+document.location.href+"&"+ 
    "response_type=token"; 
    window.location=loginUrl; 
} 

function postToWallUsingFBApi() 
{ 
    var score=atob(document.getElementById("txtscore").value); 

    var data= 
    { 
     caption: "scores "+score, 
     message: "I challenge you to beat my score "+score + " in Just Double It! on your Android Phone !!!", 
     picture: "http://www.learning-delight.com/ldapps/Game/main.png", 
     link: 'https://play.google.com/store/apps/details?id=com.appslight.justdoubleit', 
    } 

    FB.api('/me/feed', 'post', data, onPostToWallCompleted); 
} 

//the return function after posting to wall 
function onPostToWallCompleted(response) 
{ 
    (response) 
    { 
     if (response.error) 
     { 
      document.getElementById("txtEcho").innerHTML=response.error.message; 
     } 
     else 
     { 
      if (response.id){ 
       window.close(); 
       t = setTimeout("self.close()",500); 
      } 
      else if (response.post_id) 
       document.getElementById("txtEcho").innerHTML="Posted as post_id responce "+response.post_id; 
      else 
       document.getElementById("txtEcho").innerHTML="Unknown Error"; 
     } 
    } 
} 

enter image description here

Odpowiedz

-2

Rozwiązałem mój problem, używając Facebooka SDK dla Androida, który napotkał pewne problemy, więc nie był w stanie korzystać z Facebooka, ale teraz wszystkie problemy zostały rozwiązane. Dziękuję za odpowiedzi.

+0

Powinieneś opublikować to jako komentarz. Jeśli chcesz, aby była to odpowiedź, po prostu zapisz w szczegółach. I nigdy nie dodawaj podziękowań w swoich odpowiedziach. – krishna

1

To jest to! Facebook zbiera złe dane z otwartego wykresu. Otrzymujesz dane z innej aplikacji, ponieważ są prawdopodobnie hostowane na tym samym serwerze, a Facebook nie znalazł wystarczającej ilości danych otwartego wykresu dla Just Double It, ale jest to DID znajdowanie danych opisu i obrazu na serwerze (np. Z Daily Tools) . Jeśli są to jedyne dane Open Graph na tym serwerze, nie sądzę, że będzie to miało znaczenie, nawet jeśli dwa projekty będą hostowane w różnych folderach.

Wydaje się, że zrobiłeś wszystko praca tworząc aplikację i sprawdzenie go poprawnie z OAuth2 tak oto, co pozostało do sprawdzenia:

Say masz już wszystkie otwarte Dane Wykres trzeba i zweryfikowaniu jego położenie:

  • dane New OG będzie aktywny tylko na Facebooku ścianie komentarze PO strona została zeskrobana przez serwery Facebooka i zapisana w pamięci podręcznej. Ostatnim razem, gdy sprawdzałem, myślę, że dzieje się to mniej więcej raz na 24 godziny.
  • Ale poczekaj, jest więcej! rzeczywiście można zmusić Facebooka zeskrobać swoje dane OG używając ich Open Graph narzędzie debugger znaleźć tutaj: https://developers.facebook.com/tools/debug/

Po jej przetworzeniu w debuggera dane wystarczy dwukrotnie go otworzyć wykres będzie aktywne natychmiast dla przyszłych żądań księgowania ściana Twoja aplikacja się popycha.

Wreszcie, oto przykłady dwóch tagów Open Graph aplikacja wydaje się, że brakowało:

<meta property="og:image" content="../relative_path_to_your_image"/> 
    <meta property="og:description" content="Desired description of your app"/> 

nadzieję, że pomoże, powodzenia!

3

@ Odpowiedź DrewT obejmuje problem i niektóre obejścia, aby go rozwiązać. Innym sposobem, aby przejść, jest mieć pełną kontrolę nad treściami, które publikujesz i nie pozwól, by facebook je zeskrobał. Jeśli spojrzysz na numer post params, możesz wysłać go na facebooka, zauważysz też, że istnieje również param description.

var data= 
{ 
    caption: "scores "+score, 
    description: "I HAVE THE POWER!!", 
    message: "I challenge you to beat my score "+score + " in Just Double It! on your Android Phone !!!", 
    picture: "http://www.learning-delight.com/ldapps/Game/main.png", 
    link: 'https://play.google.com/store/apps/details?id=com.appslight.justdoubleit', 
} 
0

Należy upewnić się czytać https://developers.facebook.com/policy a zwłaszcza 2.3. „. Upewnij się, że wszystkie treści w parametrze wiadomości użytkownik jest wpisany przez użytkownika Nie wstępnie wypełnić Obejmuje to posty, wiadomości, komentarzy i podpisy. "

Powiązane problemy