Currently we are developing social network, which includes apps inside, for example Games. There is no public API for developers to make their apps, instead Apps developed ourself.
Our platform is based on Zend Framework. Also we have XMPP protocol implementation (clientside-strophe, serverside-java) for chat, notifications and for other pushing tasks. XMPP will be used in apps.
We want to separate apps from social network code, so we can keep it simple, lightweight.
What strategy you can suggest for such separation? Our desire is to keep architecture and code simple and clean.
Since this is an architectural question, I'm sure there are many way of doing what you need. Here is my 2 cents. Keep your apps server completely separated from the social media server. Use client side JS scripts to embed and render the apps on your social media site.
Think it like this: You know Facebook social plugins that allow embedding Facebook components in external sites. Below is a screenshot of Facebook LikeBox embedded in a completely separate DNN portal.
In your scenario, assume DNN as your social media site. And the LikeBox as your app. Architecturally they are well separated, even can be served from different severs. But integration happens on the client side.
If you need these apps to interact with the social media site, either you can do it via a REST API. Or you can use DOM events or simple JS function calls.
Few days ago I wrote a blog post on a similar architecture and can be found at: http://blog.hasith.net/2012/06/traditional-portals-are-dead-long-live.html
3rd party apps like facebook app are standalone application which access facebook DATA .
So make your social network data available through your API on internet, implement Zend_OAuth for authentication HMAC after that you can freeze your social network code .
Now you can create your web application in Javascript/Flash which access your social network data through your API .
Related
I am not talking about the public graph api, i am asking is it technically possible to consume facebook's private api that facebook official apps use, and benifit from login/sign up and such features?
Like if i reverse engineered messenger or facebook app and mimic their communication with their API, whould i be able to build a working client?
Thank you.
There are existing projects that have already done the same.
Take a look at the works of dequis e.g. purple-facebook. He has also written tutorials on reverse-engineering the APIs of Facebook Messenger and WhatsApp.
Take a look at the source code of the Facebook protocol plugin of Miranda NG. They reverse-engineered the API used by the desktop web frontend of Facebook.
They exist for years. None of them have been sued so far. However, hiding your identity is recommended if you plan to do such things. Also you may want to open-source your project and host it on multiple sites. Corporate arrogance of tech companies is at very high levels nowadays.
Yes, it is theoretically possible.
However, remember that you will be easily sued if Facebook do not agree with what you're trying to do. For example, if you're trying to use their own private Intellectual Property without their permission, or if you violate their Terms of Service agreements (reverse-engineering is going to be in there without a doubt), then they can legally sue.
Facebook have public APIs with documentation which is what is intended to be used by developers. If you decide to ignore it and go digging into things which you do not own, nor have consent to access, you're going to land yourself into trouble.
I don't mean to be a kill-joy, I'm just saying how it is from a realistic point-of-view.
I am developing an educational game on Facebook (Facebook Canvas App) and I would like the game to include external links to my website where the players can read more about specific educational topics. Is it true that Facebook prohibits including external links in the game?
Thank you!
External links are perfectly acceptable. An example of this is integrated ads. The ads topic is covered in multiple sections of the Facebook for Developers - Platform Policy, especially section 8. In that section, it even mentions the part about promotions, contests, sweepstakes, etc. I have participated in some of those, and all of them have linked externally for additional entries.
In section 1.5, it states:
In addition, don't require people to log into your app in order to access third party apps or sites that are not used in connection with the experience your app provides.
This alone implies that you can use sites that are used in connection with the experience your app provides.
Section 4.8 states:
Don’t build an app whose primary purpose is to redirect people off of Facebook.
If you are using the app to educate, and you are providing optional external information, then I believe your use does not violate this section.
As I do not know the design of your particular app, I can't suggest how to make the external information appear to be more integrated. If you are already providing a decent amount of detail within the app, a "Read More" (or similar) function taking them to external site would seem acceptable, especially if the user knows they are being directed away from your app to an external site.
When in doubt, you can discuss the issue with members of the Facebook Developers Group. Some of them have been doing it quite a while and probably know even more.
I have read many articles about facebook apps, but I can't find anything what I need. Is it possible to create an App for Facebook with HTML/ CSS / Jquery without to using FBML and load this app from my server? Is it possible to use in this app the facebook functions like share, add app to my account etc? Is there any doku or example apps, where I can take a look?
Thanks
Nik
What delayed my app getting to work was realizing that the canvas URL request is HTTP POST - not HTTP GET as otherwise usual. A simple way to start is looking at example apps that have their source code open. There're examples both for PHP and python at the developer pages. A good example of a simple facebook app that uses google app engine is runwithfriends
FBML is in the process of deprecation in favor of the Graph Api for quite a while now.
Excerpt from http://developers.facebook.com/docs/reference/fbml/:
We are in the process of deprecating FBML. If you are building a new application on Facebook.com, please implement your application using HTML, JavaScript and CSS. You can use our JavaScript SDK and Social Plugins to embedded many of the same social features available in FBML. While there is still functionality that we have not ported over yet, we are no longer adding new features to FBML.
The Graph Api is easily accessible through JavaScript.
For a quick start you can use this page as a start.
First of all, fbml is not supported anymore. so forget about that.
You can write your fb app in many languages, for example you can do it in Ruby on Rails, PHP, or C#/ASP.NET etc, whatever you prefer (although you might want to look if there are some frameworks available for your platform, for using facebook. will make your life easier).
Then, setup your app from facebook developer to match your ip, and you're set to go
I don't quite know how to explain this but I want to build an app that can access a website like, for example, Facebook, but I don't actually want it to be Facebook's website in the sense that I want to design the UI. There is a couple of apps like this already in the app store, one being called "Facebook Touch HD". I have managed to get an app to access Facebook with UIWebView, but it just goes to Facebook's mobile website, obviously.
Look at the Facebook IOS SDK.
You probably want to fetch data from Facebook using its APIs. Facebook actually offers a library for iOS, so you may want to check it out.
In general, this applies to any site that offers an API. Usually you can use NSURLConnection to make requests to get the data you're interested in (check the specific API's documentation for details); then you have parse that data (most services output data in XML or JSON).
I'm developing a site with something similar to the Digg bar at the top. One of the features requested is a live chat using Facebook. Is it even possible to implement Facebook Chat on my site by using Facebook Connect or other methods? And if so, how?
[update] I've seen that it works with Pidgin and Adium, but what I'm looking for is a site based implementation (think AJAX & HTML living at the top of the page).
It appears that the Facebook team has at least begun, if not finished, implementing an xmpp/jabber interface for Facebook Chat. This would allow you to use any XMPP enabled client to connect to Facebook. That said, there's at least one javascript jabber client library available that I can find. Although, you may have to implement a proxy on your web server to allow the JS client to talk to the Facebook server.
Also, I'm not sure how they're doing it, but Meebo has managed to enable Facebook chat integration on their site with Facebook Connect. I haven't found anything mentioning it, but this functionality may be easily available through the Facebook Connect API (documentation).
To answer your question: Yes, it's possible.