If I send a private message to a friend, and that message includes a link, Facebook automatically appends the site's icon, description, etc. to the message (assuming that site supports open graph).
However, when I use the Chat API to send that link to a friend, it doesn't do that. It just sends the link, but doesn't use the open graph information of the site to display image, description, etc.
Is there a way to fix that?
If you are planning to do this in PHP, I would recommend you to extend echo_facebook_client.php sample example which comes bundled with Jaxl library. This will let you send private message to a friend using your facebook application oauth tokens.
Last time when I checked facebook jabber documentation (which was a few months back), there was no official way to attach link metadata within a chat context. Under limitations section of the doc you will find:
Your client cannot send or receive HTML messages
Related
Is possible to find out whether some facebook page is live streaming right now? I was looking at Facebook API and from there it seems to me that it is not possible since /{page_id}/live_videos seems to be working only if you are an admin of the page (or you have been granted the access) since you cannot read live videos of public without page access token.
Yes, you can. This is actually called a WebHook (simultaneous notification of a certain app/user about changes made on the page). To do this you will have to create a Facebook App that will be subscribed to the changes made on a certain page that you want to track.
You can simply do this from the dashboard of the app or through Graph API 2.7(since this version supports live_videos) calling {app-id}/subscriptions and choose any of Page Object Subscriptions, which are available through Facebook API(in your case live_videos).
For this kind of subscriptions your app needs to be whitelisted in order not to spam or re-transmit the information received from a certain page.
To get more information about WebHook implementation please read Facebook API documenation: https://developers.facebook.com/docs/graph-api/webhooks
I know this is quite late already but for those that may stumble on it like I did, Yes it's possible.
As clearly stated in the documentation
Page Live Videos - Facebook API Documentation
You will need to make a GET Request to the endpoint below with the appropriate parameters:
https://graph.facebook.com/v6.0/{page-id}/live_videos
Where page_id is the Facebook Page ID you with to check for active Live Stream
The endpoint also expect broadcast_status whose value for your use case would be LIVE
Note: You will need and app setup on Facebook for developers platform and your query would have to be via the app
Further details can be found in the documentation whose link I provided at the initial part of this answer.
You might be able to get a returned string if there is any, from:
GET /v2.7/{page-id}/live_videos HTTP/1.1
Host: graph.facebook.com
You can read more in: https://developers.facebook.com/docs/graph-api/reference/page/live_videos/
I use facebook SDK javascript to post a message from a website to my wall on facebook.
When I post, I can choose the users who can read my message.
Can I change the script to send a message directly to one or any users automatically?
To send a private message through facebook API is not intended behavior. to prevent spam it is assumed. This can be overcome by sending an email to facebook_username#facebook.com and it will appear as an instant message to the user. This is NOT an intended solution however and it is EXPRESSLY discouraged in the facebook docs.
I m workin a projet and the marketing dep have the clever idea to a "invite friend" (apprequest) dialog on the website (with facebook connect)
I would if it is possible , as I read that on the facebook online docs
Requests are only available for Desktop Canvas apps and not website
However, the dialog displays anyway , but no notification are sent.
You'd have to have a canvas implementation in order for the requests to be displayed and for users to be able to accept them.
If you can't do this, maybe look at using the Feed Dialog for an alternative way to get a user to post a link to your app
Others may suggest setting up a canvas URL solely to redirect back to the website but be aware that that's against Facebook policy I.12
I am new on Facebook API. I want to send message to friend with facebook api. I am developing a desktop application in c#. And I used graph.facebook.com but I can see just some information. I think that to login facebook system and after send message some id. I looked developers.facebook.com but I didnt find useful information. Maybe I looked in wrong way..
I need some advice about it (how to login and send message)
I followed function of messange sendin on google chrome and I saw send.php worked . But I want to use Facebook API
By design Facebook does not allow the API to send messages. You can post on the other users wall, or send them an email.
I've successfully posted to a fan page as the actual page via the Graph API.
The problem is that the post says it was posted at "time via application name". Is there any way to hide this, so my post looks exactly as if I typed it directly into Facebook?
I'm building a messaging center that can easily deliver messages on many different channels, Facebook being one of them. Clients probably won't appreciate their Facebook posts linking to my application, nor do I want to set up a new Facebook application for each client.
There is no way to disable this. It is an internal Facebook system and is very deliberate on their part to show users where content comes from and make it easier to report malicious and spammy apps.