I have an application (window exe) that gathers information from our clients and posts images to Facebook. It use a Facebook app to help with its posting, but also uses an executable and a server with php scripts to accomplish its tasks.
The problem is that when i try to get the Facebook app approved, Facebook fails the app since it does not seem to be using the permissions i am requesting. This is probably due to the fact that the permissions are used in the php scripts, rather than directly by the Facebook app (which is not runnable outside of the infrastructure i have described above).
So i do not know how to get this app certified and worry they will turn it off after April 30th. Has anyone else had troubles like this and if so, how did they resolve the issues?
Related
in order to approve your app’s continued operation on our platform.
Platforms affected: Connect URL.
Developer Policy 1.2: Build an app that is stable and easily navigable.Some common violations of this policy include:
- Broken Facebook integration (e.g. broken share, like or comment functionality)
- Broken user experience in the app (e.g. app has broken links or user interface failures)
My app:
Using https://www.npmjs.com/package/hellojs v1.18.8 to query user info from facebook.
The request URL:
https://graph.facebook.com/v2.9/me?fields=email,first_name,last_name,name,timezone,verified&access_token=.....
calling out hello.js
hello(auth.network).api('me').then(function (json) {
App has no share, like, comment functionality and not really any user interface. Just our page offers ability to fill some data with facebook and then it remembers you with cookie.
Anyone has similar e-mail and what to do?
Our app does not use share, like or comment functionality neither do we provide any user interface for users (only the o. We are using Facebook to prefill some user data on our site.
Have the same unclear message "Platform affected: Connect Url".
I asked for a more detailed answer and received an answer the next day:
Thank you for your response.
Facebook periodically reviews the websites and applications which are on it. Your application is in its review process currently. We are required to test the Facebook login functionality in order to conclude the review in totality. However, we are unable to do so.
Unfortunately, we have not been able to locate a Facebook integration (Login, Share and Like) on your submitted platform. To help us conclude the review process, could you kindly share the details regarding the location of a Facebook integration and how to navigate to it on your website URL.
This review is essential to Facebook as we want to offer the best experience to users as well as developers like yourself. Please help us in bringing your application into compliance by working with us.
Alternatively, you could aid us by sending us credentials of a test user which is already registered and connected to an FB account within the app. You can get all the information related to creating a test user here - https://developers.facebook.com/docs/apps/test-users.
Please feel free to get in touch with us regarding any doubts or queries you might have.
Thank you for your patience and cooperation.
Looking forward to hearing from you.
My app contains the functionality of a facebook login. I made an instruction and a test user of the application so that Facebook employees could test the functionality used in my application.
Normally they write down what is wrong and explain how to fix it. If you are not sure you can reply them back and ask how to fix it. I manage to fix my issue which was similar to the one explain below by emailing facebook.
https://technuisance.com/facebook/facebook-policy-warning-for-app-solved.html
I got the same message from Facebook two months ago. In my case, I didn't find a solution in time and Facebook penalize me by deactivating the app.
Therefore, you must attend to it if you do not want the same to happen to you. Facebook uses software similar to this to check for failures on your site and assigns a score according to its performance. That's why they send you such a generic message.
I suggest you use PageSpeed Insights to receive a report on the performance of your website. In addition, the platform gives you suggestions for optimization and improvement; Surely there you will find some clue of what may be failing.
Our windows desktop application (based on Java Swing) has a functionality to publish on the user's Facebook account (all properly implemented using RestFB library).
While this works perfectly in Facebook's sandbox / test mode, we would like to go to production and need thus to have our application approved by Facebook (as the application needs publish_actions permissions).
To apply, Facebook requires to indicate the platform and, for Windows, it also requires a "Windows Store ID" and a "Windows Phone Store ID" which we don't have as our application is not available on Windows store (and it is not meant to be).
What should we do to get our app approved? Are we missing something?
(I understand that this is not a pure coding question but it is probably relevant for many developers)
Thanks,
Thomas
I came across the same problem. In the past it was no problem to register an app on facebook, set the scope and get the permission by the user to upload images or videos.
But at the moment at seems they will only support Windows (Metro) Store-Apps.
See Bug: 'Submission of Desktop-Apps won't work' on facebook
The first response of the support seems to be final :(
I'm having some trouble understanding the steps I need to take in order to make basic requests to the Facebook API. I've been reading the documentation, and having a play with the Graph Explorer, however I'm a little confused getting started.
I'm making a game application for a University submission, for which Facebook integration is a small but important part. I will be submitting this application on disk, and it will need to work when the HTML page is launched from this disk - this is where I'm getting a little stuck. I'm not sure if I'm overthinking this, but I seem to need to register as a Facebook Developer and set up an application domain. Is this necessary? I won't be able to host this application online, it will have to be submitted on disk.
So, my questions are -
Is it possible to include basic Facebook integration without hosting the application online? (Login, retrieval of a list of the user's friend's ids)
(If this is possible) what do I need to do to handle the basic 'setup' of Facebook integration? I've been looking at the Javascript SDK reference and I see I need to have my appId and channelUrl for the Loading and Initialization. I see the appId quite clearly in the App Dashboard, however it is the channelURL I am having trouble with.
I hope that makes sense :) Loading and initializing the framework and then making Graph API calls seems pretty straightforward - I'm just not sure if it's possible without hosting the application online.
Cheers!
Your page should at least be reachable via HTTP – so put a portable webserver (could be a portable Apache distribution, or something smaller) on your “disk” as well, and run your app using http://localhost/…. Add that same address (protocol and domain only, no path) in your app settings for “Website with Facebook login”.
And for the channelUrl, see https://developers.facebook.com/blog/post/2011/08/02/how-to--optimize-social-plugin-performance/
I used to develop a few FB apps in the past (using the old rest-ased api), and now I'm considering to make them actually usable again by porting them to the new 3.1 API.
Sounds nice, but for some reason this is way harder than I should be...
So here are few questions:
Is there any example of a canvas app using the 3.1 API? Google did not give me anything useful
Is there still a difference between iframe and FMBL canvas applications? In my app settings, I checked the fmbl-option, but when I'm back at the app overview page, it still says it's an iframe app.
The SDK mentions the getUser() function to get the user-id, but how do I request the necessary permissions for my app? When I do some googling, I find even another solution which calls a specific url and then performs a callback. This solution however doesn't seem to php sdk at all!
Where is the documentation of the php-api? The only usable thing I find is this: https://github.com/facebook/php-sdk which consists only a few lines of code. And I suspect this is for having a fb login-button on your own website, not for a canvas app.
Firstly, good luck, and best wishes - you'll need it. Maintaining Facebook apps is way harder than it should be, because Facebook doesn't believe in legacy support, changes things all the time, and deprecates things quickly and completely. As a (former) Facebook app dev myself, I can tell you there is only one constant: apps will die if you leave them alone. As an app developer, Facebook owes you no favors, and it is vicious when it comes to breaking apps.
As for specifics: as of June 2012, Facebook has deprecated and removed FBML and the REST API, and there is no longer any difference between canvas apps and iFrame apps. This isn't a soft, "you shouldn't use it" deprecation - it's a hard, "your apps are now broken" deprecation. All apps are now iFrame apps, as there is no longer any other way to build them. The docs on how to build a canvas/iFrame app are here, and there's an auth migration guide that may be helpful in conversion. Oh, and you'll need to get your app running on HTTPS too, if you haven't already.
As for the rest of it, it sucks, but the only way you're really going to be able to maintain and get your application working is using the Open Graph API. Using the PHP SDK, you just run $facebook->api('/graph/url/here') - for instance, to get user information, run $facebook->api("/$userid"). You get the URLs off of the Open Graph docs - just grab everything after the graph.facebook.com bit and pass it to api(). It's another learning curve, and (depending on the complexity/modularity of your code) is anywhere from a lot to a nightmarish mountain of changes, and there are no drop-in replacements. Sometimes you can use the old REST api, but I doubt that will last very much longer either. It's painful, but that's how it goes. You're at the mercy of Facebook, because it's their data.
Upgrading apps involves a shift in thinking: apps are now literally just webpages surrounded by the Facebook chrome. There is now no difference between an external website that uses Facebook's api to pull in information and an app that runs inside of Facebook. It's for that reason, personally, that I've shifted to just that for my own app - an external website that just happens to use Facebook for most of its posting/sharing/user info needs.
For authorization, you request permissions via OAuth, using any number of methods. There are docs on how to do that over on Facebook as well. Specifically for the PHP api, you generate a URL using getLoginURL() and then redirect to it. Facebook eventually redirects back to a URL you specify with info about whether they authorized your app and such, after which you can do a getUser(). If you want fancy/slick/user-friendly popup dialogs without a bunch of redirecting, the Javascript SDK is your friend.
How can i make load testing to facebook application?
Facebook prohibits the use of automated tools!!!
You should just load test your code, not Facebook's. Your app should be an iframe app, so it shouldn't be hard to load test outside of the Facebook platform. Just disable the Facebook calls.
Facebook has a much bigger setup than you and can handle a much larger load than your load testing tools could probably generate. And if Facebook is having load issues, there is nothing you can do about it anyway.
I've been developing Facebook apps for about 3 years. Facebook does have issues fairly often, but there is nothing you can do in your app except add error capture, retry and/or recovery.
What you're looking for is a tool called FriendRunner (www.friendrunner.com) which will allow you to load test a Facebook app WITHOUT modifying it, so you don't have to comment out any API calls. This will give you the most authentic results.
They can also simulate all kinds of strange situations and problems with the Facebook API so you can see how robust your application really is.
Is there a way to decouple your app from Facebook for the purposes of load testing? You can probably assume that the facebook platform can handle everything you throw at it, so you really just need to test your custom code. Once this works without any load problems, you should be good to go (assuming you can properly deal with unusual cases like facebook being down/the api being down).
We've used the approach suggested by Brent Baisley and it's a good approach, but I've always begrudged the extra work of toggling FB apis to test the app. We are trying an approach right now that should allow you to load test most apps directly in the FB canvas.
From Facebook themselves: "You can use test users for manual or automated testing."
You can also pre-authorize test users with specific permissions to your app so there's no issue of getting stuck at the permissions dialog. In the FB response, you'll get a URL that allows you to login with that test user. With one or many of these URLs in hand, easy enough to use something like Seige or Apache Bench to automate your load testing of your Facebook App in its normal environment.