Witam,
chcę zintegrować aplikację z Facebookiem, w taki sposób, aby przy każdym dodaniu artykułu w aplikacji dodawał się on także jako post na facebookową tablicę (oś czasu).
Korzystam z gemu koala i próbowałem rozwiązać problem w taki sposób:
Ale w tym momencie dostaję: Koala::Facebook::AuthenticationError: type: OAuthException, code: 2500, message: An active access token must be used to query information about the current user. [HTTP 400]
I szczerze mówiąc jestem zmieszany. Aplikacja na facebooku, chyba nie ma swojej własnej tablicy, więc założyłem stronę. Mogę ją jakoś podpiąć pod aplikację?
Jak chcę wygenerować access token dla strony to żąda przełączenia się spowrotem na konto prawdziwego użytkownika.
Post do facebooka dodajesz na oś czasu konkretnego użytkownika, potrzebujesz jego tokena uwierzytelniającego a facebook, więc musisz uwierzytelnić użytkownika przez facebooka.
Jak utworzyłeś stronę na facebooku, z tego co się orientuje to oś czasu jest dla danego użytkownika, a nie dla strony.
Chyba że założyłeś osobne konto na facebooku dedykowane dla tej strony, w takim razie musisz się pobrać token dla tego konta, tylko weź pod uwagę, że może wystąpić sytuacja że token wygaśnie, wtedy musisz ponownie pobrać nowy token.
Post możesz też dodać na wall fanpage, nie koniecznie usera…
Jako fanpage autoryzujesz swoją apkę (lub jako admin tej fanpage), uzyskujesz access_token fanpage i go używasz do postowania
Pozostaje jeszcze tylko jedna kwestia: ten access token użytkownika musiałbym, odświeżać, prawda?
Da się to zrobić przy pomocy samej “koali” czy muszę użyć np. “omniauth-facebook”?
Z tym, że ja potrzebuję odświeżyć access token użytkownika, np w przypadku gdy się on wyloguje.
A exchange_access_token() w klasie Koala::Facebook::OAuth chyba jedynie odświeża access token aplikacji - który nie wygasa (do czasu kiedy nie zmienimy app secret), mam rację?
Update:
To może inaczej… jest w ogóle jakaś opcja, aby zalogować użytkownika w tle mając jego login i hasło?
lub ewentualnie umożliwić aplikacji dodawanie postów na jej fanpage’u bez logowania się na jakiegoś użytkownika?
Tak, chcę postować na fanpage’u. Z tym, że o ile się nie mylę, to aby móc postować na fanpage’u, trzeba być zalogowany na jakiegoś użytkownika, który może na niej umieszczać posty lub umieszczać posty w jej imieniu.
Access token dla fanpage’a pozyskuje w taki sposób jak podałem powyżej, czyli w skrócie:
Wykorzystałem jednak gem “omniauth-facebook” i właściwie osiągnąłem mniej więcej to czego oczekiwałem.
W każdym razie wielkie dzięki Wam obojgu za pomoc
Teraz jedynie się męczę z dodaniem postu, który zawiera wiele obrazków. Da się coś takiego zrobić?
Bo zdania na różnych forach są podzielone, w dokumentacji Koali nic na ten temat nie wspominają, a dokumentacja Facebook’a wskazywałaby na to, że można załączyć do 5 obrazków.
Jeśli chodzi o post z jednym obrazkiem, to robię to w taki sposób: