Facebook iFrame application: How to pass data from

2020-02-26 02:11发布

问题:

I have a Facebook application that has a picture gallery. It's build in Flex 4. I want to allow users to link to a specific image.

How can that be done?

The only way I see this being done is adding a GET var like &my_picture=asd.jpg in the Facebook page URL, but I don't know how to read that from the iFrame.

回答1:

Yes, you can add a parameter to the querystring for this:

http://app.facebook.com/yourapp?myparam=1234

Then, your app will be called like this:

http://domainwhereyouhostyourapp.com/your_fb_app/index.php?myparam=1234

Some other parameters are passed by facebook as well, most related to auth tokens, etc. They are prefixed by "fb_" to prevent name clashes.

In your index.php (or whatever you are using), read the get parameter you're interested in and pass them to your swf as usual.



回答2:

What's great also about Facebook is that it carries EVERYTHING after your ../appname/{things-beyond-your-app-name} to you hosted [server] URL... so that even .htaccess can be used. ;)

Like this...

http://apps.facebook.com/YOURAPPNAME/a/b/c.htm

For an app that's hosted on my server at:

http://example.com/APPSHOSTEDPATH/

and by using this one-liner included in my hosted location's .htaccess file in:

http://example.com/APPSHOSTEDPATH/

where .htaccess file contains (among the other standard) lines...

I can put something like:

RewriteRule ^(.*)$ /myRedirectedPath/$1 [L,R=301]

So if the person goes to: http://apps.facebook.com/YOURAPPNAME/a/b/c.htm (as in the above example)

They'll stay there and they'll be accessing:

http://example.com/myRedirectedPath/a/b/c.htm

(pretty sweet, eh?) ;)

Fun stuff... wanted you to know that there's more capability that just $_GET's.