Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wysyłanie wpisu na Fanpage Facebook, Zwraca status OK, ale nie wyświetla na Tablicy
thomas2411
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 7
Dołączył: 15.05.2005
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Witam,

mam problem z wysyłaniem wpisu na Fanpage. Mam założoną aplikację i podpiętą do niej stronę Facebook. Korzystam akurat z Symfony 2 i Bundle Facebooka, ale to chyba nie ma tu zbytnio znaczenia. Wysyłam wpis tak jak poniżej, zwraca mi status OK plus id wpisu, ale wpis nie pojawia się na tablicy. Czy ktoś wie co może być tego powodem?

  1.  
  2. $facebook = new \Facebook(array(
  3. 'appId' => $myAppId,
  4. 'secret' => $myAppSecret,
  5. 'cookie' => false,
  6. ));
  7.  
  8.  
  9. //Get App Token
  10. $token = $facebook->getAccessToken();
  11. //Try to Publish on wall or catch the Facebook exception
  12. try {
  13.  
  14. $args = array('access_token' => $token,
  15. 'from' => $myAppId,
  16. 'link' => 'http://mypage.pl',
  17. 'name' => 'My Page',
  18. 'caption' => $object->getTitle() ,
  19. 'description' => 'Description....',
  20. 'message' => $object->getText(),
  21. );
  22.  
  23. $result = $facebook->api('/'.'$myAppId'.'/feed/', 'POST', $args);
  24. }
  25.  
  26. //If the post is not published, print error details
  27. catch (FacebookApiException $e) {
  28. ....
  29. ));
  30. }
Go to the top of the page
+Quote Post
cv65
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 12.04.2009

Ostrzeżenie: (20%)
X----


  1. $result = $facebook->api('/'.'$myAppId'.'/feed/', 'POST', $args);

Zamień na to:
  1. $result = $facebook->api('/me/feed', 'post', $args);
Go to the top of the page
+Quote Post
thomas2411
post
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 7
Dołączył: 15.05.2005
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Wywala mi wtedy błąd:

An active access token must be used to query information about the current user.
Go to the top of the page
+Quote Post
BlackDante
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 6
Dołączył: 20.06.2009

Ostrzeżenie: (0%)
-----


dodaj 'scope' => 'publish_stream', do konfiguracji Facebooka
  1. $facebook = new Facebook(array(
  2. 'appId' => $myAppId,
  3. 'secret' => $myAppSecret,
  4. 'cookie' => false,
  5. 'scope' => 'publish_stream',
  6. ));


albo dodaj potrzebne uprawnienia w ustawieniach aplikacji: https://developers.facebook.com/apps/APP_ID/permissions

polecam drugą opcję ponieważ wtedy dostajemy tylko 1 popup z zapytaniem o autoryzację

Ten post edytował BlackDante 29.08.2012, 14:22:19
Go to the top of the page
+Quote Post
thomas2411
post
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 7
Dołączył: 15.05.2005
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Nie mam tego obcykanego, ale nie obejdzie się bez wyskakujących okien o autoryzację itp? Z niektórych tutoriali odniosłem, może mylne, wrażenie, że wystarczy w ustawieniach aplikacji wszystko ustawić, a potem w panelu admina na mojej stronie po prostu klikać publikuj i wszystko wysyła się na Tablicę.
Go to the top of the page
+Quote Post
yevaud
post
Post #6





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


wrażenie było mylne smile.gif
Go to the top of the page
+Quote Post
BlackDante
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 6
Dołączył: 20.06.2009

Ostrzeżenie: (0%)
-----


jeżeli chcesz mięć pełną władzę nad tym co trafia na wall użytkownika musisz poprosić go o uprawnienia, innego sposobu nie ma. Jeśli nie chcesz prosić o uprawnienia możesz zadowolić się share buttonem wink.gif

  1. <a type="button" name="fb_share">Share on Facebook</a> <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>


ale wtedy użytkownik ma pełną kontrolę co, jak i kiedy wysyła się na jego ścianę.

Ten post edytował BlackDante 29.08.2012, 14:34:55
Go to the top of the page
+Quote Post
thomas2411
post
Post #8





Grupa: Zarejestrowani
Postów: 108
Pomógł: 7
Dołączył: 15.05.2005
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Czyli podsumowując użytkownik loguje się do panelu admina, tam najlepiej, żeby miał przycisk zalogowania się jeszcze do facebooka i dodania zezwolenia, a dopiero potem idzie np do listy artykułów i klika sobie Publikuj. Wtedy wysyłam /me/feed i powinno się pojawić?

Macie może jakiś fajny tutorial do tego od A-Z?

A co do Share button, no to chodzi raczej o sytuację kiedy użytkownik zalogował się na panel admina, dodał artykuł, obrazek, wklepał nawet krótki tekst do FB i klika zapisz. Wtedy artykuł pojawia się na jego stronie, we Frontend. Będąc cały czas w panelu admina, w liście artykułów, przy najnowszym artykule ma przycisk. Klika go i przez AJAX wysyła się w tle wpis na jego Fan Page przez /me/feed z odpowiendim orbazkiem, linkiem do artykułu i tym krótkim opisem. O taki scenariusz chodzi.
Go to the top of the page
+Quote Post
BlackDante
post
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 6
Dołączył: 20.06.2009

Ostrzeżenie: (0%)
-----


przykład masz w samej dokumentacji Facebooka: http://developers.facebook.com/docs/refere...p/facebook-api/ (Post a link to a User's wall using the Graph API) tylko że funkcję $facebook->api wykonujesz dopiero po jakiejś akcji użytkownika a nie po zalogowaniu się wink.gif
Go to the top of the page
+Quote Post
thomas2411
post
Post #10





Grupa: Zarejestrowani
Postów: 108
Pomógł: 7
Dołączył: 15.05.2005
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Udało się ! smile.gif

Dzięki wszystkim za pomoc.

Problemy były dwa:

1. Nie używałem logowania.

2. Wstawiałem do feed APP ID zamiast Page ID.

Ale i tak dziwna sprawa, że nie dostawałem zwrotki w postaci błędu, a dostawałem Post id, tak jakby wszystko było OK.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 09:57