Facebook old API Video upload - facebook

Our application uploads video to facebook (using the REST API video.upload method). Everything was working fine, but nearly 10 hours ago we started to receive the error "This method must run on api-video.facebook.com". We're already running it on api-video.facebook.com! The url is http://api-video.facebook.com/restserver.php?method=video.upload, it's hardcoded in the application, and never changed. What's happening? How can this be fixed?

Since Facebook doesn't seem to want to document this:
the call is to https://api-video.facebook.com/restserver.php
params:
access_token=...
method=video.upload
The rest of the params work as before.

Related

Facebook API returns empty response only from specific IP

Suddenly simple Facebook Graph API calls started to return an empty result. The node I'm calling is a simple search page by name:
`https://graph.facebook.com/search?type=page&fields=profile_picture,username,id,name,likes,category,talking_about_count&access_token=<APP_TOKEN>&limit=10&q=stackoverflow`
It just started to return an empty result set when called from my server:
{"data":[]}
When I'm calling it from my personal computer browser, it works just fine.
I don't see any notification in Facebook Manage Apps page. What can be the reason? Is there any way I can see any error in this Graph API result?
UPDATE: suddenly it started working again, after it was down for at least 2 hours. Is there any way I can make these calls through client side JS? Any way to avoid to exposure of my APP_TOKEN?
UPDATE2: It stopped working again, and although I haven't identified the reason, I did figure when replacing the with a , it does work. The documentation actually says to use an APP_TOKEN.

Open Graph & Rails not retrieving object's URL

I'm using Rails to try and add an action for an object both defined for my app on the open graph. I am using an :after_filter in my controller to call the following after session#create:
#graph.put_connections('me', 'workkout:complete', :session => url_for([#plan, #session]))
I am getting the following back from Facebook:
{"error":{"type":"Exception","message":"Could not retrieve data from URL.","code":1660002}}
I have checked that the correct URL is passed to put_connections, and when I visit this URL using Facebook's Lint tool, everything is correct.
I can't understand why this isn't working, my only thought is that Facebook is hitting the URL moments before rails has generated the object? - not sure if that's even possible though.
Can anyone shed any light on this?
Turns out it was because the create action and the put_connection methods take place in independent threads and as such the URL is not ready when put_connections is called. Solution here http://railscasts.com/episodes/363-facebook-open-graph?autoplay=true

Why does Facebook batch API request sometime return nulls?

I use Facebook's batch request quite a bit in my app. For the most part, it works really well, but one thing that confuses me is why does their API sometimes return nulls? If I get this "nulls" response, I can just try again moments later and it will work.
Here's an example:
URL:
https://graph.facebook.com/?access_token={access_token}
Request Body (prior to encoding):
batch=[{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"}]
Here's what Facebook sometimes returns:
[null,null,null,null]
If I make the same request a second later, I get the proper response:
[{"code":200,"headers":[...headers here...],"body":{...body here...},{"code":200,"headers":[...headers here...],"body":{...body here...},{"code":200,"headers":[...headers here...],"body":{},{"code":200,"headers":[...headers here...],"body":{...body here...}}]
The behavior is not always consistent. Most of the time I can try again and get a proper response. Occasionally I need to try 2 to 3 times. This problem happens dozens of times a day and it's been going on as long as I can remember. I checked my App diagnostics on Facebook and my App doesn't have any restrictions, there's no API throttling, and Facebook doesn't even list these under their "API Errors" report. Any idea why this happens?
It seems that this problem has corrected itself. I haven't seen this error show up for a few days now.
Bug report here:
http://developers.facebook.com/bugs/295201867209494?browse=search_4f42b29071ebc7f92807017

Graph API - /apprequests seems to return an empty JSON array every time

When I use
https://graph.facebook.com/(userid goes here)/apprequests?access_token=(user access_token goes here)
it returns an empty JSON array like so:
{
"data": [
]
}
Even though there ARE app requests.
These people were having the same problem, but didn't get their question answered either:
http://forum.developers.facebook.net/viewtopic.php?id=106693
http://forum.developers.facebook.net/viewtopic.php?id=88253
What am I doing wrong?
I tried POSTing and GETing requests with the Graph API Explorer, and THEY don't return an empty JSON array (however they only return the app requests POSTed by Graph API Explorer, not the requests for my app....I imagine this is to be expected however). Could this have something to do with my app being in sandbox mode? Does /apprequests work for anyone else's sandboxed app?
A few weeks back (around mid-september 2011), it was possible to get the requests with https://graph.facebook.com/me/apprequests?access_token={user_access_token}.
It does not seem possible today anymore. This call returns an empty data structure now.
Instead, calling https://graph.facebook.com/{user_id}/apprequests?access_token={app_access_token} does seem to work.
apprequests connection expect an app access token.

facebook chat on the iphone using xmppframework

Well i started of by following all the instructions here:
http://code.google.com/p/xmppframework/wiki/FacebookChatHowTo
I used the recommended fork of the facebook api and tried the latest from:
https://github.com/facebook/facebook-ios-sdk/
My problem starts with the following error:
< failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl">< not-authorized/></failure>
The error is a reply from facebook to xmppframework s response to a authentication challenge. The response that is made by the iphone is base64 encoded msg when i decode it i find 2 of the values are null:
api_key=(null)
and the
session_key=(null)
This is obviously the reason facebook is returning that error. But the problem i have is i cant seem to find any where to set these values in the framework. Besides i think the session_key should be pulled in from facebook anyway.
I guess what i want to know is a couple of things.
Has any one got the xmppframework working with facebook on a iDevice?
If you have got it working did you have to stray from the path of the instructions on http://code.google.com/p/xmppframework/wiki/FacebookChatHowTo ?
do you know of any other method to get facebook chat working on the iphone?
Any suggestions or help for my current dilemma would be appreciated. Happy to share my code if you want.
cheers
I wrote the Facebook integration for XMPPFramework. The api_key and session_key, come from a call to auth.PromoteSession. Facebook is trying to deprecate that call, so to enable it, you must follow step 7, in the HowTo:
Under Migrations, change Disable Deprecated Auth Methods from Enabled to Disabled and Save Changes.