Gain access to users Facebook messenger inbox from Facebook app - facebook

I'm working on a port of Facebook messenger capable of running on Mobian and a variety of other mobile Linux distributions. I've got the oAuth process working as expected but have hit a wall trying to display a users conversations. According to the following error I need the read_mailbox permission.
Reading mailbox messages requires the extended permission read_mailbox
Unfortunately this is no longer available, I'm hoping somebody could suggest an alternative/newer permission which would achieve the same purpose as I've not been able to find one so far.
I'm using restfb to make the HTTP request to endpoint "me/conversations" with the following code
Connection<Conversation> conversations = client.fetchConnection("me/conversations", Conversation.class);
Thanks in advance, all.

Related

Can i send direct messages to my clients facebook followers using API?

I have seen services advertising that they can message the followers of pages and accounts on Facebook. I have gone over lots of different Facebook API's and several interesting threads on here but cant find a definitive answer.
Is is possible to directly message via a bot users who like a page providing obviously we have a valid admin token for that page?
Is is possible to directly message via a bot users who like a page
No, that is not possible.
All communication via the Messenger platform API (basis for “bots” in Facebook terminology) requires that the user initiates it.
And it would probably be considered spam by most people - just because I liked your page, does not mean I want to be contacted by you in any way beyond that. Posting to your page is the designated way of communicating with the people that follow your page.

How to test FB messenger bot with multiple users

Has anybody yet a way to interact with an FB messenger bot without using real FB accounts? I want to do automated testing and obviously not use real accounts for that.
I was not able to figure out how to allow access to a page to 'test users' or create a test page and subscribe the test app to it.
Any ideas on how to do this?
I use a wee web app I made to act as a local version of the facebook messenger api server and run user actions.
https://github.com/Fraser-Greenlee/bot_tester
On it you can write a script to define new users and their actions.
From the Facebook developers dashboard, select your app and then Roles. From Roles you can add other Facebook users as test users. It was easiest for me to use the users facebook id. Adding by email did not always work for me.
I am not aware of how to access a Facebook bot without a Facebook account. I created several fake accounts and had my friends test the bot. After testing, I deleted the fake accounts.
For more information on setting up a bot see my article Facebook Bots for Fun and Profit
The example bot is DMS Software Bot
The source code is Github fb-robot
Testing fb bot with non-fb user is currently not supported. Following are the reasons:
fb messenger requires the user to be logged
fb creates page scope ids (PSID) for each user who is interacting with the bot and hence login on fb is required
Coming to your question on testing:
you can add fb users as tester to your page and your app. Explained here. For your app https://developers.facebook.com/apps/[app-id]/roles/
Once added they will be able to send message to your bot (page) from messenger
On another note, if you are using 3rd party apps to build your bot (eg: api.ai, wit.ai) they already have emulators within the app which makes testing easier.
One easy way to achieve automated testing for messenger bots atleast is to try to mimic a request coming from FB. You can just log the request you are getting to your bot to find the signature of the request that FB sends. Then you can just pretend to be FB by sending http requests with the same signature. You will also have to add in code to respond to these http requests with your reply instead of just sending the message to FB's send API.
So in node it would be something like
sendMessage(<your reply>);
res.send(<your reply>);
Now you have an automated way of sending and receiving messages which you can use for automated testing.
However I think the bigger challenge is coming up with enough test cases. You need to use a combination of clustering over available data and classification to generate new cases.
I have been working on a tool to make this easy. So if you are interested you can sign up for early access. http://ozz.ai

Android : How to get new feed user's using graph in new Facebook API?

I want get new feed user's but many the tutorial not working in new Facebook API.
I had login and post comment but i don't know continue get new feed in app Android.
I try in URL ttps://graph.facebook.com/me/home?access_token=MY_ACCESS_TOKEN but return no.
And https://graph.facebook.com/me/feed?access_token=MY_ACCESS_TOKEN then error read_stream. But i had set read_stream premission read_stream. Somebody help me! I need some code but docs developer facebook's is simple so i don't understand.
Sorry my English not good !
https://developers.facebook.com/docs/facebook-login/permissions/v2.0
read_stream - This permission is reserved for apps that replicate the Facebook client on platforms that don’t have a native client.
"no native client" means devices like TVs and stuff.
So this permission will only work for App Admins, most permissions need to get approved now, see changelog: https://developers.facebook.com/docs/apps/changelog
Afaik it is not possible to get access to the user feed anymore (except for App Admins, of course), unless you are creating an App for specific devices.

facebook API permissions

Just starting out with Facebook's API. I have a client that sends me the access_token after logging into to FB on iPhone. I am wondering where I would specify the permissions I need, for example to access email, or user's music data?
Is it via client using FBSession, or via Koala (ruby gem I use on server side with access_token to get user's info) or in Facebook's app settings page?
Thanks
If your user is logging in via an iOS app, you need to request them in the permissions parameter of FBSession. https://developers.facebook.com/docs/reference/ios/3.1/class/FBSession#permissions
Although I'm not a specialist in mobile development, so I cannot provide you with a functional example (or even properly explain how to do this) I have done a bit of browsing in the Facebook API section of the Developers website, and I believe that I have the answer to your questions. This will not only answer where, but it should also give you how, for many different purposes, there are different permissions that you must add, and this page gives you some idea of how to do all of them.
http://developers.facebook.com/docs/reference/login/

Send Message to Friend On Facebook with C#

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.