Updating Facebook Graph API to v2.0 or higher - facebook

We have developed a Social Media Marketing tool, which we had to update to Graph API v2.0 now.
Unfortunately, the v2.0 and higher include some changes, which have a terrible effect on our software.
As far as I understand, it's no longer possible to search for public posts. Also you may no longer request your own friends, as well as their public timeline. Also, it's no longer possiblie to query the public timeline or any public data by foreign persons. Another problem is that the username field is no longer available, so it will not work anymore to query the id of a user by the username. Is there any other way to do this?
And is it possible to get the feed via RSS?
Does anyone know whether these changes are final? Our existing software is dependent on this data. We develop it for 2 years and have customers who use our software. Does anyone have a similar problem and a solution for it?
Is there any statement from Facebook, why they made these API changes?
I'm very grateful about answers.
Christine

Related

Sending requests to facebook as a user from a third-party app

I need to initiate searches on facebook marketplace from my application on the user's device. This needs to happen on the user's device, and as the facebook user associated with the user using the application, to avoid getting blocked by facebook. As far as I can understand, this cannot be achieved using facebook's OAuth login and accessing the facebook information that is accessible through it.
Another hypothetical way that comes to mind, is to use the token that the user uses to login into facebook itself, though this one sounds frankly illegal.
tl;dr is there a way to run a search and retrieve the results on facebook marketplace as a user on a user's device?
I found your question on SO, and spent a good bit of time researching this, as I wanted to know the answer myself. Unfortunately, as best as I can tell, this is not possible through any official APIs. It seems like they may have once had something like this, as I found several links to FB API documentation that looked promising. But, the links all rerouted back to the Graph API homepage. I found a couple of references to the big data breaches FB has suffered in the last couple of years as possible reasons why their APIs were retooled and locked down.
I found several Facebook developer posts with questions about a Marketplace API where there were either no answers after months or years, or an official Facebook moderator posting a response like "This is a great idea, we always want to improve, use this form to submit your idea" and so on with no follow up.
I also found at least one SO post within the last 18 months where someone in the comments claimed to be able to post products to FB, but I think this was related to the Business Page Product Catalog, and is not what you're looking for. This is more like if a car dealership or something wants to post a new car for sale that's tied to their FB business page.
The Graph API allows for some decent searching and edge traversal but it is all related to posts, pictures, feeds, etc., and nothing related to the marketplace. Facebook pushes their Marketing APIs so heavily that it was tough to filter through that noise. And, of course, all of marketing apis are geared toward creating ads.
I found some Facebook information around API URLs looking like https://graph.facebook.com/search=terms&type=some_type that was very promising. But the type options seem to be limited to adcountry, adeducationschool, adeducationmajor, adlocale, adworkemployer, adkeyword, adzipcode, adgeolocation, and audienceinterest. And, as I dug deeper, it appears this is related to finding targeting groups for creating targeted posts. Nothing for marketplace.
I think that the answer, unfortunately, is that there are no offical FB APIs at this time that will allow querying search results from the Facebook Marketplace, much less provide enough information to reproduce a listing to display on a 3rd party app.

What choose Instagram Graph API or old API

I wonder if it is possible to use a new Instagram Graph API only for hobby purpose(small java application). The main aim is to process only user's data that is currently log in on instagram(not other's user data). Generally I'm a beginner on this field and I try to determine my chances for writing this kind of application, because I've read that sometimes it is hard to get permission to API from facebook, so maybe somebody know how it works in practice?
From what I can tell on the docs site, the Graph API is only used if you're making something for Business Accounts. The docs say that if making something for non-business users, to use the old API.
Reference here: https://developers.facebook.com/docs/instagram-api
I personaly suggest you to use new graph API, because older API support may be disabled in future and might be deprecated in future.
Moreover, Facebook does not give permission easily but you give proper & exact content if allows you and provide great support.

Use Facebook Graph API to Remove Friend Connections

I have a question about weather something is or is not possible with Facebook's API.
Can a server side script have access to a users account and remove a tag associated with another person? Or remove photos that has a particular friend in it (obviously only if the person has been tagged)?
For instance maybe I want to remove all connections I have with another person, can the Facebook API graph allow me to do so if I specify the individual?
I am not looking for how to do so, I am first trying to find out if this is even possible. I have been pouring over documentation but it is something that I do not completely understand and I will not be the one writing code.
Any help or direction will be great, thanks!
No you can't unfriend a person through the API. Even deleting photos is impossible, unless the app created the photos in the first place. There are numerous other threads on SO about this, as well as forums posts about people that have struggled with problems in the recent past. You can't even delete a tag of a photo through the API even though DELETE methods exist in the documentation and indicate that it should work. When making the calls people receive oauth error results, and there is probably still a pending bug report about this behavior, but no expectation that FB plans to fix it anytime soon.
In general they are happy to let you add a lot of content, but they don't want to let you remove it -- and that goes double for the API.

How far back in time can you go with the Facebook API?

With the Facebook API are only recent things (wall posts, friends status updates etc) obtainable or is everything ever associated with the user's account obtainable?
That's a tricky question.
First nowhere in the official documentation says how many items you can get from Graph API nor FQL.
Not only this. Also when trying to do normal recently querys you may find out that not every result is returnes. Nor from the Graph API, FQL, not even from the FQL Test Console.
All this is because serious bugs in the Facebook Platform.
On october 15 Facebook said in its blog
We have received a great deal of feedback recently about things we should do to improve Facebook Platform. The themes are clear: “fix the bugs,” “update the documentation,” “talk to us more,” and “make things more reliable.” We are listening, and this post outlines some of the things we are doing to address your concerns.
This means that they are now fixing the bugs that has been accumulated on many months in Facebook Bug Tracker.
One of the open Bugs in there says:
When using a FQL Query or utilizing the new Graph API to grab posts on a users
stream, not all posts are returned.
From what I can see, the system will grab the latest posts from within the last
month, and then becomes extremely spotty after that. I am able to grab posts
from myself up to 4/24/2010, at which point every single wall post I have
posted seems to disappear.
Many other developers have states the same thing under the comments of this Bug.
On 2010-09-27 Jeff Bowen (Developer from facebook) said the following
Hi all, we still need to add this to the documentation but the stream table is
limited the last 30 days or 50 posts, whichever is greater. Sorry this wasn't
previously published.
This have made many people upset since they assumed you could get everything from the Graph API.
Anyway this is for multiple results. If you want a single result apperently (from the commnets in thts bug) You could go as far as June 15 2009
Personally, I haven't tested yet again so I don't know if this actully works the way they say. Facebook Graph API is in constant change. It has been incomplete and buggy since the begining. But now Facebook says they are working on that.
I recommend every facebook developer to sign up for the Facebook Platform bug tracking system since there is a lot of not official things about facebook, that will impact your applications.
I'll keep an eye on there to see if more is said on this topic and update this answer if needed

How to crawl Facebook based on friendship information?

I'm a graduate student whose research is complex network. I am working on a project that involves analyzing connections between Facebook users. Is it possible to write a crawler for Facebook based on friendship information?
I looked around but couldn't find any things useful so far. It seems Facebook isn't fond of such activity. Can I rely on the Facebook API?
Update (Jan-08-2010): Thank you very much for the responses. I guess I probably need to contact Facebook directly then. Cheers
Update (Feb-16-2011): A new book, "Mining the social web", just came out. In it, there is a chapter devoted entirely for mining Facebook using Python. Cheers.
You can't rely on the Facebook API unfortunately. To get friend information, you need to use something like friends.get(). However, any Facebook API method that returns user information like this requires that you have an active session key from that user, and generally the way you get an active session key is to have the user come to your Facebook application or page.
In summary, the information you are talking about is essentially private. You can't pick a person from Facebook, get their friends, and get those friend's friends, and so on. To me this is a good thing for privacy, but of course it prevents arbitrary analysis.
I'd throw out the idea of writing a quick and dirty application with some user appeal that you could use for research. If a group like S**t My Dad Says (funny, not really safe for work) can get 120,000 users in a couple of months, you could probably plead your case with a small research application and get a reasonable amount of users.
The problem is that facebook friendship information is typically private and only accessible to friends. It should be a lot easier to build this network on Twitter, if this is an option for you.
As others have stated, this is typically private information. If, however, Facebook per se isn't a requirement, you could use Google's Social API. A snippet from the Google Social Graph API page: "With the Social Graph API, developers can now utilize public connections their users have already created in other web services. It makes information about public connections between people easily available and useful."
Here's an article on using it in Ruby:
http://articles.sitepoint.com/article/google-social-graph-api-ruby-rails#
This lifecode post provide a basic python script to scrape your facebook friends contact info.
The output of this script, is the profile ID, profile pame, profile URL, e-mail address and mobile/phone number (if provided by friend).
WARNING: This is against Facebook TOS. Use at your own risk.
Info provided for educational and research purposes
http://ruel.me/blog/2010/11/26/scrape-your-facebook-friends-contact-info-with-python/
You can use http://www.facebook.com/directory/ to get the public listed people.