Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Aplikacja Facebookowa, a prawa do postowania u klienta
Forum PHP.pl > Inne > Hydepark
sf
Stworzyłem sobie aplikację facebookowa, która dodaje wpisy o nowo pojawiających się wpisach na blogu. Wszystko działa prawidłowo na moim koncie. Teraz chciałbym, aby ta aplikacja miała prawa do postowania na koncie klienta. Co muszę zrobić i co klient musi zrobić by to zadziałało?
freemp3
Jak rozumiem to ma działać na zasadzie informowania użytkowników o tym, że pojawił się nowy wpis na Twoim blogu?
sf
Tak, to jest normalny wpis na ścianę facebookową. Klient po prostu nie chce ręcznie dodawać wpisów, tylko by z automatu dodał się też na facebooka.

  1. $params = array(
  2. "access_token" => $accessToken,
  3. "message" => "Tutaj wiadomość, że pojawił się nowy wpis",
  4. // inne parametry typu zdjęcie, link
  5. );
  6.  
  7. $ret = $fb->api('/' . $pageId. '/feed', 'POST', $params);
freemp3
Samo publikowanie wpisów nie jest trudne, problem jest w tym, że FB ostatnio zmienił politykę uprawnień i teraz publikowanie (publish_actions) jest w tzw. uprawnieniach rozszerzonych. Polega to na tym, że wybierasz z listy uprawnienia, które Cię interesują, później wysyłasz do nich formularz w którym opisujesz po co Ci one, gdzie wykorzystujesz itp. Następnie w ciągu 7 dni roboczych FB udziela Ci pozwolenia na skorzystanie z wybranych uprawnień lub też nie wink.gif Należy też chyba dołączyć zdjęcia, które to potwierdzają, ale tego nie jestem do końca pewny.

Najprostszym rozwiązaniem było by wyświetlenie użytkownikowi okienka z informacją o chęci wysłania posta przy pomocy JS, ale jak rozumiem w przypadku automatu to odpada.

Ewentualnie możesz zrobić panel w którym wyświetlałbyś nowe posty z bloga, które nie zostały jeszcze opublikowane przez danego użytkownika. Na liście użytkownik klikał by ten post, który chce wysłać i w tedy pojawiało by mu się takie okienko z zapytaniem o pozwolenie.
Pyton_000
Jakiś czas temu też chciałem zintegrować FB do publikowania na Wallu ale przez zmianę uprawnień dałem sobie chwilowo z tym spokój.

Jak ktoś ma jakieś info jaki sposób to ładnie rozwiązać i jak wysłać zgłoszenie do FB to pisać smile.gif
sf
Ogólnie to tam był jakiś problem z autoryzacją, ale to poradziłem sobie poprzez zakomentowanie jednej linijki w api ( podaje poniżej ), na swoje strony mogę wysyłać bez problemów. Czy to co piszecie dotyczy autoryzacji innych osób? Dodałem sobie moją żonę do aplikacji "Roles", nadałem nawet admina, ale niestety publikować na jej wallu nie mogę...

  1. if (isset($params['access_token']) && !isset($params['appsecret_proof'])) {
  2. //$params['appsecret_proof'] = $this->getAppSecretProof($params['access_token']);
  3. }


EDIT:

OK, doczytałem, że nie można postować na czyimś wallu, widocznie trzeba zrobić tak jak pisaliście czyli do nich wysłać zgłoszenie.
freemp3
@sf nie możesz ponieważ nie udzieliła uprawnień smile.gif Samo dodanie użytkownika nic nie daje, należy wejść do aplikacji i wszystko zaakceptować. Dopiero w tedy będzie mógł publikować.

@Pyton_000 - z tego co się orientuję to w aplikacjach utworzonych jeszcze przed wprowadzeniem nowego api możliwe jest publikowanie na wall-u stary sposób. Natomiast przy nowych aplikacjach, trzeba dostać pozwolenie od FB tak jak opisałem wyżej. Czyli w skrócie pytasz FB, czy możesz zapytać użytkownika o to, czy pozwoli Ci publikować na wall-u wink.gif Nie jestem pewny, czy w przypadku publikowania przez JS dalej jest możliwość po prostu wyświetlenia okienka i spytania użytkownika, czy też trzeba się pytać o to FB, ale wydaje mi się, że nie powinno być z tym problemów.
sf
@freemp3: dzięki wielkie za pomoc, znalazłem teraz chwilę czasu to dokończyłem pisanie tego

gotowy kod dla potomnych gdyby ktoś szukał:

dodawanie wpisów na facebook
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.