(#32) Page request limited reached Facebook API response - facebook-graph-api

I am using Facebook API to pull data about various public pages that I have in my DB.
It is working fine, but after some time I keep getting this error from API.
After this error I am unable pull any data for any pages. Is this error related to just a page data or this may occur any time?
Pleas provide some explanation if any one knows. So that I can optimize my code to handle this situation.
Thanks..

Related

Posting event to facebook using the graph api

I am trying to build an application where admin users would trough a form insert "events" containing title, description, starttime/endtime and some other fields. At the moment theese users are primarily using facebook to reach out to their users, they would like to be able to move to my app aswell as stay on facebook without too much hassle. I solved the issue of getting the events of facebook by having them all sign up for the graph api with their community/company pages and giving me the access token to fetch data about their events trough a get request to.
https://graph.facebook.com/v15.0/me/events?access_token={their token}
Now my next task at hand was simple i tought simply make a post request to the same api endpoint, but i quickly realized i was not able to do this and well i do not know how to proceed to be fair.
Tried to make a post to the same endpoint but got errors and after searching the documentation found that this was not supported??

InfoPath cannot call web service when uploaded to Office 365 Sharepoint

Not my normal line of questions, sometimes we've got to be flexible!
I've designed an InfoPath form that I'd like to upload to a Sharepoint site.
On my form I've got a data source that is consuming the following SOAP service
https://SharepointServer/Site/_vti_bin/UserProfileService.asmx?WSDL
I call the Operations "GetUserProfileByName" and get various information about the account looking at the form. In preview this works very well. I've got the header saying "Hello Pete" and I'm able to filter lists based on the user's data. However. When it comes to uploading the form to the server, I'm greeted with the following exception:
Warning
An error occurred querying a data source.
Click OK to resume filling out the form. You may want to check your form data for errors.
HIDE ERROR DETAILS
An error occurred while trying to connect to a Web service.
An entry has been added to the Windows event log of the server.
Log ID:5566
Correlation ID:19df2c9d-a036-2000-3929-0bce8940cf2a
Any ideas what I'm doing wrong? Is there limitations due to the way that my account details are being used on SharePoint? If so what's the work around? I'm not a full admin on the server, so I've only got access to a Sandbox site.
Any help greatly appreciated,
Pete
The issue is loopback protection. In o365, it cannot be disabled. Stupid though, there are a lot of useful web services available for information. See this link: Error message when you connect an infopath form to a sharepoint online web service

Getting profile pictures via graph api results in "application request limit reached"

We receive "(#4) Application request limit reached" error when a page is showing the profile picture of a large amount of users.
Does it happens just because of referring the user's profile picture via graph api? e.g. "https://graph.facebook.com/{user-id}/picture"
If we will use the direct picture link (e.g. "http://profile.ak.fbcdn.net/...") and update it using the real-time updates the problem will be solved?
Thanks
If you are doing too many server calls to facebook app at once, you have a fair chance to get the error. Please check if getting the direct link is permitted in the facebook terms and conditions for platforms. Or else you can store the picture when someone connects through facebook in your server, but again, facebook changed privacy policy recently, so please check with that too.

Facebook unreliably reading OpenGraph attributes when publishing to newsfeed through Graph API

We have a Facebook app that publishes URLs to a user's newsfeed via the Facebook iOS SDK. These URLs are for pages that have OpenGraph attributes defined and we've verified in the Facebook Linter that it's correctly defined.
However, periodically we are seeing that Facebook won't correctly parse the OpenGraph attributes and have less than a stellar post to Facebook:
We will most often get posts parsed correctly resulting in posts like these:
We'll periodically get posts like these:
However, you can see this later post works correctly in the FB Url Linter: https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fchewsy.com%2Fr%2Fa%2F1bhLT.
However, sometimes the URL Linter will report a 503 but I see nothign in our logs. And even more odd, when the URL Linter reports the 503, it will shows that it can read the OpenGraph attributes defined. See this screenshot:
Since this is inconsistent, my first guess was this was a Facebook issue so I opened a bug. However, since I'm not seeing this issue rampant in the newsfeed with other apps, I'm starting to wonder if we aren't following the right steps to publishing FB content.
For example, are we supposed to post to the URL Linter first, then publish via the Graph API? This seems like a ridiculous extra step, but I'm grasping at straws here...
It's probably due to fact that in a time Facebook Linter visited your site it wasn't accessible, just couple of refreshes on a Linter Tool with URL you've provided resulted in Bad Response Code error, returning 503 status code:
http://chewsy.com/r/a/1bhLT"">
You should dig in logs of your application/site to discover the real reason why this happen and fix it.
Just a quick note that this should no longer be happening for CloudFlare users. We pushed a fix for the 503 debugger issue moments ago that appears to have fixed the problem. Please contact us if you see any other issues with the Facebook Debugger.

Get apprequests available to user, sent by other users

BUMP: This is not a dead request. I'm still hoping to get a solid answer from someone at Facebook or anyone else. Thanks.
Revised Inquiry: I don't know if I'm not asking the right question, or if I'm asking a valid question that no one can answer.
New Questions:
Can we use FQL or another means to get all of the requests seen at reqs.php? I'm essentially looking for something like this:
SELECT request_id, app_id FROM apprequest WHERE recipient_uid = me()
Notifications return that data but app requests are often batched into a single record with a link identifying some but not all requests. I want individual records for all app requests currently open. The data to do this must be available, as this is the data used to build notifications! It just seems that this is not being made available to us. :(
Thanks!
Original Inquiry Follows:
I have an app that aggregates various sources of Facebook information for a user. One of the sets of data I'm working on is the collection of apprequests which have been sent to this user by friends. For example, I open GreatApp and click to send a request to you. You may or may not use GreatApp but let's assume you haven't blocked requests from it. You now open my AggregatorApp that shows my request to you, and the included link back to GreatApp. The data you see is the same as at reqs.php but formatted differently, with much more data, and of course simply much better. ;)
I thought that is what we got in apprequests. From this question I'm understanding that apprequests is a collection of requests sent out by the current application.
When using path/me/apprequests, we don't need to specify an app ID. But I believe here we do need to provide an app token rather than a user token. Is that correct? If that's correct then this confirms that the requests are those that this app sent out, not requests generated by other apps.
When using FQL, we need to identify the uid of the app as well as the id of the request in order to query the apprequests table. I get that, but even with a valid request id and app id (and valid permissions) FQL doesn't return request data. (I haven't checked with an app id, maybe that's the key.)
I am hoping people will provide some concrete examples for any of the above, specifically getting inbound requests from other apps, and confirmation about what token or other detail is expected for /apprequests and the apprequests table to return data.
Thanks!
Other threads asking the same question without a good (or any) response:
thread1 thread2
You need to make a graph api request to get the apprequests connection for a user. See the current documentation here: http://developers.facebook.com/docs/reference/api/user/.
In the Connections table, the documentation correctly notes that you need an application access token to retrive the requests to that user. There's a bug in the documentation under (http://developers.facebook.com/docs/reference/api/user/#apprequests) that claims you need a user access token. This is incorrect, and (as you've seen) will return an empty list of requests.
Requests sent by an application are only visible to the application. The user can't see or delete these requests (though they are able to hide the request). The reason for this is that the applications can put data into the requests (255 characters) that's never exposed to the user or other applications.
I don't think there's a way you'll be able to aggregate a user's requests from apps that you don't have an access token for.
What I have found out (before my question was deleted) was that you can't access requests with a user token, and app tokens can only access requests that app has sent (and I found that out myself in the documentation and playing with the graph explorer). Since I know there are iPhone apps and browser plugins for processing requests, I assume they are accessing the page itself and parsing the data (like scraping a site). The downfall to that approach is that on the request page only around 100 requests from each app are shown at one time.
(Unless some people have found a way that they aren't sharing...)
You are right, you need the app_access_token and not the user_access_token.
I think the FB documentation has an error.
The definitive answer was provided by a Facebook developer here in response to my bug report. The resolution is that this is By Design. This relates to the note by #noah-callaway that there's probably some app-specific data in requests that should not be available to other apps.
This is a shame, in my opinion, because as Facebook is all about sharing data among friends, I think it adds a dimension to the ecosystem when apps can share (limited and reasonable) information among one another.
Thanks for the responses!