2010-12-13 21 views
21

Pracuję nad projektem przesyłania danych do ścian stron Facebooka. Mam skonfigurować aplikację Facebook i obecnie zainteresowanie następujące uprawnienia od użytkownika, gdy próbuje odpowiedzieć na ich stronie na ścianie:Jakie uprawnienia na Facebooku pozwalają na umieszczanie na ścianie strony (nie na ścianie profilu)?

  • publish_stream
  • offline_access
  • manage_pages

Kod aktualnie stanowisk do Ściana PROFILU pomyślnie, ale przy próbie wysłania do ściany PAGE, zwracany jest następujący błąd:

Facebook error: (#200) The user hasn't authorized the application to perform this action.

Ponownie, żądam uprawnień, które najwyraźniej wystarczą do umieszczenia na ścianie profilu, ale nie do ściany strony. Którego pozwolenia mi brakuje, aby publikować na ścianie strony? Z góry dziękuję za pomoc.

+0

Potrzebujesz więcej informacji . Jakiego protokołu używasz (API)? Czy dostałeś dostęp do tokenów na stronach? Czy jesteś administratorem strony, z którą próbujesz się połączyć? – Lex

+0

Używam protokołu OAuth 2.0 do pobierania tokenów dostępu i używam interfejsu Graph API do publikowania danych, dzięki czemu żądanie zwijania się jest "https://graph.facebook.com/".$facebookPageID."/feed" opublikuj dane na ścianie należące do $ facebookPageID. Otrzymałem tokeny dostępu zarówno dla ściany profilu, jak i ściany strony. Stroną zarządza użytkownik, którego profil opublikowałem, a Facebook zwrócił ten sam token dostępu dla obu stron. Token dostępu został przyznany poprzez zalogowanie się na konto administratora strony. Dziękuję bardzo za poświęcony czas i pomoc. – Sean

Odpowiedz

12

Oto, co robisz. Najpierw przeczytaj dokumentację na extended permissions. Zauważ, że mówi „manage_pages”:

Enables your application to retrieve access_tokens for pages the user administrates. The access tokens can be queried using the "accounts" connection in the Graph API. This permission is only compatible with the Graph API.

Oznacza to, że trzeba przełączyć Twojego token dostępu użytkownika na podstawie odpowiedzi z

https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN 

dla swojej aplikacji. Więc skoro masz swój strona Dostęp TOKEN, przełączyć wniosek wysłać wiadomość jak takie:

https://graph.facebook.com/$PAGEID/feed 

w postfields (za pomocą curl czy coś takiego), to wiadomość i $ PAGE_ACCESS_TOKEN

+2

Musiałem dołączyć uprawnienia ** status_update ** (scope = publish_actions, manage_pages, status_update), aby opublikować na stronie FB. Nie mogłem znaleźć tego pozwolenia w żadnych dokumentach na Facebooku. Zobacz http://stackoverflow.com/q/15796138/516910 Zrobiłem _nie_ muszę "polubić" stronę. –

+0

Jaka jest najnowsza aktualizacja tego procesu? –

2

W celu POST do ściany użytkownika można użyć uprawnienia "publish_stream", ale to samo nie pasuje do strony. Aby umieścić POST na ścianie strony, musimy najpierw uzyskać numer , podobnie jak strona. (Zostań fanem został usunięty przez Facebooka). Powyższa odpowiedź jest oparta na moim doświadczeniu z FBConnect (Facebook SDK dla iPhone'a). W mojej aplikacji musiałem użyć przycisku Lubię, aby pozwolić użytkownikowi najpierw polubić stronę, a później mógł POST na ścianie PAGE. Nie mogłem znaleźć żadnego konkretnego pozwolenia na to samo, co bezpośrednio pozwoliłoby użytkownikowi publikować posty na ścianie strony po zalogowaniu. Jeśli masz jakąkolwiek wskazówkę, daj mi znać.

Powiązane problemy