Graph API rate limit, mailbox API - facebook-graph-api

I'm working on kind of CRM project that has 3 main processes
Send messages to our custommers
I've read that facebook currently prohibit sending messages through API for spamming reason. Any alternative? Maybe use dialogues API? Using Dialogues API still could be spamming? That's not spam though. We have careful inner processes.
Posting on wall(me/friends) for many authenticating accounts on a server.
Other post ( Publish limit on Facebook's Graph API ) said that there is a publishing limit (bucket allocation for each token/profile. 20-24 per day at that time). Is that still working policy? Does that include posting both on my wall and friends? or only friends? me?
Get responses from our customers for many authenticating accounts on a server.
Also concerning there could be some limits.
I've read that there is a 600/600sec API limit. Is that per access token? or per IP? per application? Is that for GET request? for POST or both?
thanks

Related

messages API twitter Challenge-Response Checks

I've seen that twitter changed their endpoints to get and send direct messages, I noticed from a reply from here that it is a workaround to be able to send messages with well-known libraries such as tweepy, but all I need in this case is to list the messages in my inbox.
I've noticed that there is an account activity api which I can use to achieve this goal.
But, I do not understand how to implement Challenge-Response Checks, can you provide an example? how twitter checks this? it is through a post request to my site? to what specific URI they do this? I tried sending a pipedream url as webhook (to see what kind of request they were doing, but absolutely no request was shown)
The account activity endpoint is part of Twitter's Premium product - so you may need to pay to use it. They have comprehensive documentation on the CRC - that includes a sample Python implementation.
I think you will find it easier to use to use the GET direct_messages/events/list API call.
That will list all of the messages in your inbox for the last 30 days.

Distinguish API keys used in Google Cloud Translation API requests

I have an application that uses Google Cloud Translation API for translating contents from a source language to the languages used by the different users.
Since there are several clients for the API, I would like to distinguish the request numbers for different clients, like making a distinction between Android and iOS clients.
There's a dashboard in Google Cloud Translation API Overview page that contains the Traffic chart with a By credential option, which should be able to distinguish the request numbers by their credentials (in our case, API keys.) Unfortunately, it doesn't, the only option available there being Unspecified.
Moreover, even if I change the filter of credentials to No selection, the Traffic map is still the same!
I have also attached the project's credential list, where only API keys are used.
Please help me how to know the request numbers by different API keys, thanks.
Update:
Here are how I send requests to Google Cloud Translation API.
I tried with Postman and Swift code in iOS (what I actually do in my project.) Sent GET/POST requests to the API with API keys and POST requests with service account token, but neither API keys nor service account shown in request logs as the first picture.
Postman
Request with API key in GET
Request with API key in POST
Request with service account token in POST
Swift code
Code
Response
I have also done some requests to Translation API using different credentials. After doing the requests, I have checked my dashboard and I encountered the same situation as you, with all requests marked as Unspecified when choosing the By credential option.
As it turns out, there is an issue related to this situation, as this is not the expected behavior. This has been notified and it will be sorted out by the Google team. You can keep track on any updates related to this issue here. If you click the star button on this site, you will get email notifications whenever any progress has been made. Please bear in mind that it may take some time for this issue to be resolved.
In the meantime, you may consider tracking the client information through the statistics of the applications that make requests to the API, if possible. Thanks for your help on finding this issue.

Google Admin SDK 403 Rate Limit Exceeded

We are working with Google's Admin SDK API. We get a lot of 403 (Rate limit exceeded) errors when we execute more than 2 threads making batch requests to Google's servers.
We have changed the Rate Limit of Requests per second in the project admin panel but it seems to have no effect. As google recommends in https://developers.google.com/admin-sdk/directory/v1/limits we have tried with one user's credential per thread.
How many requests per second can we actually send?
Is there any way apart from contacting Google to increase that Rate limit?
Thanks in advance.
You can submit quota request to increase you query limit by going to API console (https://code.google.com/apis/console/‎
). Go to the quota pane and click "Request more" next to Admin SDK. A form should show up, and you can submit your request. Make sure you include your calculation and justification.
You're probably requesting new access tokens for every request. See my answer at https://stackoverflow.com/a/24211132/1135732

"Anonymous" throttling in wso02 api manager?

We're looking to replace an existing API manager with wso2 and one of the features of the other platform is that we can identify a 'user' of the API at run time and have the throttling work.
The 'user' is not OAuth identified, rather they authenticate via the API and a session id is returned (so they've never registered at a 'store'). This session id is then used to setup the throttling at the API Manager. Additionally the other tool has code to look for the user logging in and using that id in the throttling. so if a user tries to login too many times per hour the API manager blocks the request in addition to too many requests for a logged in user per hour. The combinations of login attempts, API calls etc. are summed into the throttle. (All this was implemented by their services team years ago)
The main reason we need this is we don't want to force our old clients to go to OAuth immediately but want much more visibility, reporting and throttling.
Thoughts on how to do this with wso2? I see where we can add our own Handlers to the API to figure out session ids, login ids etc. but I don't see where to create the logic to do the throttling.
Thanks,
Chris
Login to Carbon and edit the tiers.xml (/_system/governance/apimgt/applicationdata/tiers.xml)。You can found the section <throttle:ID throttle:type="ROLE">Unauthenticated</throttle:ID>

how to send SMS to a mobile phone using software program (like yahoo messenger)?

I am trying to write a small program using Qt to send SMS messages to a mobile phone. Something like what Yahoo Messenger provides. You can send SMS messages to mobile phones if mobile service provider is supported. I would like to know what happens behind the scenes after you click "Send". Especially how does the message you send gets transfered from the server at yahoo to mobile service provider's network?
Yahoo would've purchased access to (or run their own) SMS gateway. The exact method of transferring the message from Yahoo->Gateway would depend on the gateway's API. Could be XML, could be a proprietary binary format, could be a simple HTTP POST, etc... The SMS gateway would take care of the details of getting the message into the back-end cellular data network and on to the recipient's provider's system.
The easiest way to do it is to buy credit with a company like SMS Global ( http://www.smsglobal.com/global/en/ ). I don't work for them, but I have used them in the past. You do a simple web request (with your account number), destination phone number and the message. It deducts credits each time you send an SMS. Obviously, you write it in to your business plan to cover the costs of this :)
They also offer services whereby you can receive SMS messages to your own web service.
Obviously, there are many other SMS gateways, but if you look at the site and the API you should have a general idea of how it works.