6

// Aktualizacja: poniżej możesz przeczytać odpowiedź. Rozwiązaniem jest zbudowanie czatu za pomocą api facebookowego czatu (i powinieneś używać go jako czatu, a nie systemu komunikacyjnego, ale będzie przekazywał wiadomości.)Zamieść odpowiedź na rozmowę na Facebooku

Więc mam następującą rozmowę między mną (HiQ) i Magnusem na Facebook. Jak rozumiem, nie ma możliwości zainicjowania konwersacji z api wykresu, ale powinienem być w stanie odpowiadać na komunikaty zgodnie z

Mam dwa problemy. (moje próby rozwiązania są zgodne) 1. Nie mogę uzyskać indywidualnego komentarza. Rysunek 2 (Mogę uzyskać kolekcję komentarzy Figure3) 2. Nie mogę odpowiadać na komentarze. Rysunek 2.

Pamiętaj też, że mam ustawione wszystkie uprawnienia, aby zezwolić, a jeśli nie zrobiłam wykresu, to odkrywca api powinien o to poprosić przed złożeniem wniosku.

Rysunek 1. Komunikat/rozmowa A json response for my conversation

Rysunek 2. Nie mogę retreive indywidualny komentarz (klikając na jeden wysłana przez zalogowanego użytkownika.) Json error message

Rysunek 3. Odpowiedź na tak komentarze działają poprawnie. Json response and request comments collection

Próby rozwiązania: Dokumentacja descripbes opublikowania repluy komentarze tak: https://developers.facebook.com/docs/reference/api/publishing/ https://developers.facebook.com/docs/reference/api/using-comments/

Tworzenie komentarzy i odpowiedzi

Indywidualny komentarz na obiekcie, który ma/przyłącze komentarze można utworzyć za pomocą wywołania interfejsu API:

POST/{object-id}/comments? message = "To jest moja wiadomość" jest jedynym parametrem w tym wywołaniu API. Powinien to być ciąg zawierający tekst komentarza.

Tak więc próbowałem następujące (z i bez znaku zapytania po/komentarze). Rysunek 4. Próba zamieścić komentarz do opinii: Error respnse and request in json

i jest bezpośrednio w kierunku komentarz id (z lub bez znaku zapytania): json error code and request

Wszelkie sugestie mile widziane bo jestem poważnie stuck! Wdrożenie odbywa się za pomocą Facebooka C# SKD

+0

Komentarze nie są „rozmowy” w tym sensie, FB - rozmowa byłaby prywatnych wiadomości między użytkownikami, komentarze do postów to coś zupełnie innego. – CBroe

+0

@CBroe Przykład oparty jest na prywatnych wiadomościach między dwoma użytkownikami. W odpowiedzi na komentarze pojawi się odpowiedź na facebooku. Więc nie jestem pewien, czy rozumiem, co mówisz? –

Odpowiedz

3

Nie sądzę, że faktycznie jest możliwe wysłanie odpowiedzi na prywatną wiadomość za pośrednictwem interfejsu graficznego. Rozumiem, dlaczego może to wydawać się zagmatwane, zwłaszcza, że ​​ma połączenie "komentarze". Z tego, co mogę zebrać z dokumentu https://developers.facebook.com/docs/reference/login/extended-permissions/, uprawnienie "publish_actions" "Umożliwia aplikacjom publikowanie treści, komentarzy i polubień w strumieniu użytkownika" zauważ, że mówi on tylko o wysłaniu wiadomości do użytkownika STREAM.

Wierzę, że Facebook przestał korzystać z tej możliwości, ponieważ aplikacje mogą potencjalnie spamować użytkowników. Wystarczyłaby jedna uzasadniona wiadomość i mogliby stale odpowiadać komentarzami. Również strony z komunikatami https://developers.facebook.com/docs/reference/api/message/ w szczególności wymieniają tylko "czytanie" jako opcję.

Można również zobaczyć odpowiedź w tym wątku

how send message facebook friend through graph api using Accessstoken

Co ciekawe jest jednak to, że konto Strona może odpowiadać na wiadomości prywatne, o ile użytkownik zainicjował pierwszy. Strona może wysłać tylko 2 odpowiedzi bez odpowiedzi użytkownika. Domyślam się, że pozwala to na 1 "auto-responder", a następnie na faktyczną odpowiedź od kogoś adresującego użytkownika. https://developers.facebook.com/docs/reference/api/page/#messages To prawdopodobnie pozwoli firmom odpowiadać na pytania klientów.

Domyślam się, że żadna aplikacja nie może wysyłać prywatnych wiadomości, ponieważ potencjał spamu byłby ogromny, gdyby użytkownik miał dostęp do tokena. Oczywiście jest to okno dialogowe wysyłania, które się do tego odnosi, ale doceniam w twoim przypadku, że chcesz odpowiedzieć na wiadomość, a nie utworzyć nową.

Przycisk "wyślij" mówi, że powinien być używany w przypadkach, gdy rozmowa jest prywatna, np. W przypadku, gdy możesz wysłać wiadomość e-mail.

https://developers.facebook.com/docs/reference/dialogs/send/

W sytuacji aplikacji, co oznacza, że ​​realnie jest byś zażądać „read_mailbox” pozwolenie, można następnie powiadomić użytkownika o aplikacji, które mają oni nieprzeczytane wiadomości z konkretnego użytkownika. Następnie można utworzyć okno dialogowe wysyłania i wypełnić pole "do" za pomocą identyfikatora użytkownika, który pierwotnie wysłał wiadomość. Pojawi się wtedy jako część "komentarza" połączenia w eksploratorze api (testowałem to).

Jedynym zastrzeżeniem jest to, że użytkownik może oczywiście dodać dodatkowe nazwy do okna wysyłania, a w ten sposób rozpocząć nowe Convo.

nadzieję, że to pomaga

+0

Świetna odpowiedź. Wyobrazili to sobie kilka dni temu i zaczęli budować czat oparty na interfejsie API Chat na Facebooku w języku C#. Umożliwi to użytkownikom czatowanie i wysyłanie wiadomości, gdy inny użytkownik nie będzie dostępny na czacie. –

+0

Ciesz się nagrodą :) –

+0

Dziękuję bardzo! – TommyBs