Autor wpisu: cojack, dodany: 26.11.2011 19:39, tagi: php
Ostatnio zacząłem pracę nad API Facebooka i moim zadaniem było rozpracowanie tego api, takie tam. Ale doszło w reszcie do acziwmentów na facebugu. Jeden wpis w google how to, i wio ogień, jedziemy. Poszło łatwo, dokumentacja fajna, przejrzysta, wszystko ładnie opisane: link no ale gdyby wszystko poszło bez problemu nie byłoby tego wpisu…
Facebug
Nie bez kozery w żargonie programistów ta nazwa nabiera coraz silniejszego znaczenia. Kto pracuje z API tego serwisu społecznościowego ten to rozumie. Facebook jest teraz w fazie wprowadzania nowego API o nazwie kodowej Graph (wow how f***g awesome it’s?!). Wracając do meritum sprawy, po wywołaniu rejestracyjnego linka z acziwmentem ni stąd ni zowąd dostawałem błąd: „(#3502) Object at achievement URL is not of type game.achievement”, o którym już pisałem wcześniej na forum php: link, niestety nikt chyba wcześniej nie miał problemu z tym (albo miał i się nie podzielił, who care?). Sytuacja doprowadzała mnie do frustracji, gdyż po użyciu debuggera: link nie zwracał mi żadnego błędu związanego z opengraph, a błąd mówił o czymś innym. Bądź tu mądry i pisz wiersze…
Rozwiązanie problemu
Otóż przypadkiem(?) parę razy udało mnie się zarejestrować te acziwmenty, zachodziłem w głowę jak ja to zrobiłem. Maluśka retrospekcja i olśniło mnie co takiego zrobiłem. Otóż proces jaki należy wykonać przed przystąpieniem do zarejestrowania acziwmentu jest taki:
Wchodzi na stronę debbugera: link
Wklepujemy link do naszego acziwmentu, klikamy debug (wow!), teraz na samym dole po poprawnej analizie naszego pliku powinna się znajdować sekcja: „Adresy URL” (tia mam po polskiemu) i jest sobie jakiś pierwszy link:
Graph API: http://graph.facebook.com/blablabla
klikamy na ten link, otworzy nam się stronka z wyplutym jsonem, i dawaj, po tym zabiegu możemy już wykonać poprawnie proces rejestracji acziwmentu bez żadnego problemu!
Słów kilka na zakończenie
3 dni się z tym ścierwem męczyłem…