Workaround for - graph api bug - facebook-graph-api

Can anyone provide a workaround for this bug
Our app is managing a lot pages with many posts, but since 5 days ago we've had huge problems with that bug.
90% of our posts gain the above described error, 10% are working well.
After many hours of testing we know it's something about the "link" parameter.
Without it, we can post without any errors.
We tried to only post our images without the link parameter but after a hour of posting correctly we got a new error.
(#368) The action attempted has been deemed abusive or is otherwise disallowed. Interesting that posting an image without a link parameter is abusive.
We tried to regenerate all user_tokens and page_tokens but no success, the error still exists.
We tried to pause the service for 24 hours and start it again, no effect.
Does anyone have an idea or a workaround for this bug?
It doesn't seem that it was patched on Tuesday. Because of that we need a solution, we can't hold the service down for one more week.

the workaround from "thefreeman" works for me also:
add more admin(s) to the pages
generate tokens for the new admin
juggle the tokens to stay below limit
Limit per account (for me) seems to be about 150 posts per day.
Limit seems to reset at a certain point in time. Midnight at facebook?
(i am managing 60 Pages and posting roughly 200 updates per day.)
certainly not a nice solution, but the bugs in the fb-bugtracker don't seem to get too much attention :(
sometimes i get a new error: "OAuthException (#1500) The url you supplied is invalid".
Trying again later with the same data works though...

Related

The time required to update changes across system

Being inexperienced, there are many times where I am expecting changes to update shortly, if not immediately, but it doesn't. I end up spending a lot of time troubleshooting to no avail and it miraculously work later. I learned that it takes time for updates to propagate across system.
It has come to a point where many times I am unsure if it is because of the changes not propagated or because I have made a mistake. For example, I didn't know the load balancer takes hours to update and instead of waiting it out, I spent hours troubleshooting. I reckon it is good to have an idea of time required for each product/service to update? I searched the Google's documentation but can't seem to find much information.
I really appreciate any advice for new learner like myself to gauge the time required for certain products and services to update/propagate?
Thanks

Since vs updated_time vs created_time

I'm writing an app to collect facebook posts matching a certain search term, and I'm trying to fetch only new or updated posts since the graph.facebook.com/search endpoint. I've concluded from debugging that this particular endpoint uses time-based pagination (since, until), so here's my process:
fetch new posts using the most recent 'since' time (default to now - 5 mins at start)
update my 'since' time to the most recent created_time or updated_time from the list of return posts
sleep X seconds, repeat
However, I can't even see my own newly created posts. I do get some results, but they seem random in terms of why they match my search and not my own. For testing purposes, I'm using a user-level access token generated using the FB developer tools, so I should definitely not have any permissions issues restricting me from seeing my own content.
What gives?
Edit: More testing reveals that I can randomly receive SOME of my own posts, but there appears to be no rhyme or reason why one post shows up and the others don't. For example, I just posted 3 posts and received the second one via my app. The first and third are nowhere to be found.
I think what you are seeing here is an artefact of the consistency model Facebook is using. You can see another example of this when you look at your feed from two different devices. If I look at my feed from my smartphone and then go and check out my feed on my PC, sometimes I see the same items and sometimes there are items I saw on one device, that I didn't see on the other. This is because Facebook uses Eventual consistency.
In simple terms this means that given enough time, all data clusters will be consistent, but this is not guaranteed at any given time point. The bad news is: there is not much you can do about this. It's just a fact-of-life when working with very large distributed systems (and Facebook is one of the largest in the world). At this scale it is just not practical, where technology is today, to keep all copies of the data completely in sync at all times. What I think you are seeing is two requests serviced by two clusters which are currently not 100% in sync.
Here is an interesting read on the subject.
And here is something from Facebook. You can skip to the Consistancy section of the page (Although, I would recommend reading the entire post. It is a very interesting overview of Facebook architecture).

FB.XFBML.parse loops and gives thousands of javascript errors

I have a number of dynamically generated like buttons on a site (http://www.thepropaganda.com), and so I use FB.XFBML.parse to generate them all. For some reason the parser always gets into a loop and repeatedly generates "domain and protocol must match" errors as per FB.SO Question 3577947. All the facebook social plugins are created correctly.
I understand what the errors are, and they're not really a problem, other than that there's thousands of them. Funnily enough this doesn't happen at all in incognito.
I'd really like to know what's going on here, as it's a live site for a paying client.
No idea why that's occurring but if it doesn't happen in incognito I'm assuming it's something to do with a cookie/session variable.
I would have added this as a comment but I need 50 rep to do it :(

Coldfusion 10: Method is not found in component

Since we installed ColdFusion 10, we have received several error messages such as
"Method ifspDueDt is not found in component [fullpath]\incTabCnt.cfc."
We are trying to call a method named ifspDueDt. It is called in one place in our entire application and when it's called, it's called from ifsp.cfc. We use engine.js for our AJAX, so the call looks like this:
http('POST','../Components/ifsp.cfc?method=ifspDueDt', IFSPDueDtResp, param);
We are completely baffled by the fact that for some reason and only on some occasions (certainly not all the time), ColdFusion is looking for ifspDueDt in incTabCnt.cfc instead of ifsp.cfc. There is no other place where this method is called. What could be causing this?
We probably get 1-2 of these errors per week, whereas we have several hundred users accessing the system.
It looks like ColdFusion 10 update 3 solves this problem, at least for the code I'm working on. Having said that, I don't yet recommend upgrading, due to a series of other issues with update 3. See the comments on the CF blog post announcing update 3. Note that at least two other people have posted in that comment thread that they are still experiencing the "wrong page displayed" problem, which seems like it's closely related to the "wrong component" problem we're discussing in this question.
We were fortunate that we don't use CF scheduled tasks, and we did not hit any of the startup errors or other problems in our testing environment, although one of my teammates did hit a number of problems which corrupted his dev environment.
I really hope Adobe moves quickly with update 4 (or a replacement for update 3).

Why doesn't insights match the graph?

I have seen many instances where the Likes, Comments, and Shares reported from the Graph API endpoint for a particular post do not match the stats reported by Insights. I.e.:
https://graph.facebook.com/PAGEID_POSTID reports:
likes 1000, comments 450, shares 300
https://graph.facebook.com/PAGEID_POSTID/insights/post_stories_by_action_type reports:
likes 725, comments 375, shares, 200
Or something like that. I do realize that sometimes, insights will show higher numbers because Insights tracks stories that are generated off of a shared copy of the original post (very cool), but these are cases where Insights reports numbers lower than what the Graph API endpoint shows.
Is this because after 28 days, Facebook Insights stops updating for individual post stats?
Any ideas?
I've filed a bug here: https://developers.facebook.com/bugs/400094966692945
The unfortunate reality is that Facebook Insights is horribly buggy, and in general fixing api bugs does not seem to be much of a priority for Facebook.
If you visit your Insights page frequently you will see this. Days where the count of app removals spikes by 1000%, followed two days later by user installs spiking 1000%. Days where there are zero comments on your app's posts where you have recorded thousands in your database. The list goes on...
Even when they "fix" Insights bugs, they don't always fix the history, leaving the inaccurate data in place and only correcting it on a go-forward basis.
This is the kiss of death for any reporting or analytics system. Once you start seeing the bugs over and over where you know from your own independent data that the reporting system has bugs, you start to question everything it shows you: is this reality or is it a bug? How can I make any decisions based on this data if I cannot trust the data? Folks with enterprise experience know this, but the kids who run Facebook...not so much.