6

// Aggiornamento: è possibile leggere la risposta sotto. La soluzione è di costruire una chat usando la chat di Facebook api (e dovresti usarla come chat, non come sistema di messaggistica ma levera messaggi.)Invia risposta alla conversazione Facebook

Quindi ho la seguente conversazione tra me (HiQ) e Magnus su Facebook. Come ho capito non c'è modo di avviare una conversazione dal grafico API ma dovrei essere in grado di rispondere ai messaggi secondo https://developers.facebook.com/docs/reference/api/using-comments/

Ho due problemi. (Seguono le mie soluzioni tentate) 1. Non riesco a ottenere il singolo commento. Figura 2 (Posso ottenere la raccolta dei commenti Figura 3) 2. Non posso rispondere ai commenti. Figura 2.

Nota anche che tutte le autorizzazioni sono impostate per consentire e se non l'ho fatto, api explorer dovrebbe richiederlo prima della richiesta.

Figura 1. Il messaggio/conversazione A json response for my conversation

Figura 2. Non posso prelevare un commento individuale (cliccando su quello pubblicato da utenti registrati.) Json error message

Figura 3. Risposta per soli commenti funzionanti Json response and request comments collection

soluzioni tentate: La documentazione descripbes distacco repluy ai commenti come questo: https://developers.facebook.com/docs/reference/api/publishing/ https://developers.facebook.com/docs/reference/api/using-comments/

Creazione commenti e le risposte

un commento individuale su un oggetto che ha una connessione/commenti può essere creato con una chiamata API:

POST/{object-id}/commenti? message = Il messaggio 'Questo è il mio messaggio' è l'unico parametro in questa chiamata API. Dovrebbe essere una stringa contenente il testo del commento.

Così ho provato quanto segue (con e senza punto interrogativo dopo/commenti). Figura 4. Tentare di inserire commenti ai commenti: Error respnse and request in json

e direttamente verso il commento id (con e senza punto interrogativo): causa json error code and request

Eventuali suggerimenti di benvenuto sono seriamente bloccato! L'implementazione viene eseguita con Facebook C# SKD

+0

I commenti non sono una “conversazione”, nel senso FB - una conversazione sarebbe messaggi privati ​​tra utenti, commenti sui post sono qualcosa di completamente diverso. – CBroe

+0

@CBroe L'esempio è basato su messaggi privati ​​tra due utenti. Fare una risposta in facebook a un messaggio verrà visualizzato sotto i commenti. Quindi non sono sicuro di capire cosa stai dicendo? –

risposta

3

Non credo sia effettivamente possibile inviare una risposta a un messaggio privato tramite il grafico api. Posso capire perché questo potrebbe sembrare confuso, soprattutto perché ha una connessione 'commenti'. Da quanto posso ricavare dai documenti https://developers.facebook.com/docs/reference/login/extended-permissions/ l'autorizzazione "publish_actions" "Abilita la tua app a pubblicare contenuti, commenti e Mi piace nello stream di un utente" nota che dice solo post a un utente STREAM.

Credo che Facebook abbia deprecato questa capacità a causa del fatto che le app potrebbero potenzialmente spammare gli utenti. Tutto ciò di cui avrebbero bisogno è un messaggio legittimo e potrebbero costantemente rispondere con i commenti. Anche le pagine di messaggio https://developers.facebook.com/docs/reference/api/message/ specificano specificamente solo "lettura" come opzione.

È anche possibile vedere la risposta in questo post

how send message facebook friend through graph api using Accessstoken

La cosa interessante, però, è che un conto della pagina può rispondere ai messaggi privati, a condizione che un utente ha avviato per primo. E la pagina può inviare solo 2 risposte senza una risposta da parte dell'utente. La mia ipotesi è che ciò consenta 1 "auto-responder" e quindi una risposta effettiva da parte di qualcuno che si rivolge a un utente. https://developers.facebook.com/docs/reference/api/page/#messages Questo probabilmente consente alle aziende di rispondere ai clienti.

La mia ipotesi è che qualsiasi app non può semplicemente inviare messaggi privati ​​in quanto il potenziale per lo spam sarebbe enorme una volta che si ha un utente access_token. C'è ovviamente la finestra di dialogo di invio che risolve questo problema, ma apprezzo nel tuo caso che desideri rispondere a un messaggio piuttosto che crearne uno nuovo.

Il pulsante "invia" indica che deve essere utilizzato nei casi in cui la conversazione è privata, ad esempio dove è possibile inviare un'email.

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

In una situazione di app, che cosa questo significa realisticamente è che si sarebbe chiedere l'autorizzazione "read_mailbox", si potrebbe quindi notificare a un utente della vostra app che hanno un messaggio da leggere da un particolare utente. È quindi possibile creare una finestra di dialogo di invio e precompilare il campo "a" con l'uid dell'amico che ha originariamente inviato il messaggio. Apparirà quindi come parte della connessione "commenti" nell'api explorer (l'ho provato)

L'unica avvertenza è che un utente potrebbe naturalmente aggiungere altri nomi alla finestra di dialogo di invio e così facendo iniziare una nuova convo.

speranza che questo aiuta

+0

Ottima risposta. Lo ha capito un paio di giorni fa e ho iniziato a costruire una chat basata su API Chat di Facebook in C#. Ciò consentirà agli utenti di chattare e inviare messaggi quando altri utenti non sono disponibili per la chat. –

+0

Goditi la taglia :) –

+0

Grazie mille! – TommyBs

Problemi correlati