daogr / facebook-actionscript-api

Automatically exported from code.google.com/p/facebook-actionscript-api
0 stars 0 forks source link

Fackbook.ui 'apprequests' #248

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I have run into a problem with the Fackbook.ui can anyone help me please!?  It 
seems Facebook has updated the way they handle Dialog Requests.  Check out this 
link... http://developers.facebook.com/docs/reference/dialogs/requests/

I think the problems is in the FBJSBridge.js my fb_ui function is:

function fb_ui(params) {
    obj = FB.JSON.parse(params);
    FB.ui(obj);
}

//what im tring to do
Facebook.ui({method: 'apprequests', to:'friendsUID', message: 'Test', data: 
'userID'});

Thanks for the help!!!

Original issue reported on code.google.com by mshaffer...@gmail.com on 31 Jan 2011 at 1:39

GoogleCodeExporter commented 9 years ago
Try with Chrome... then press F5 and with a bit of luck you will see that the 
iframe lightbox is there ... and SWF is overlaping the iframe !! Another fk 
bug!!!

Original comment by marcos.s...@gmail.com on 1 Feb 2011 at 4:59

GoogleCodeExporter commented 9 years ago
I tried with:
Facebook.callJS('FB.ui', { method: 'apprequests', message: 'Here is a new 
Requests dialog...', display:'iframe'});

But SWF still overlaping the iframe window!! Firebug will show you that the 
iframe is there.

Original comment by marcos.s...@gmail.com on 1 Feb 2011 at 5:02

GoogleCodeExporter commented 9 years ago
I have not used Facebook.callJS can u give some info about this please
Also, try adding this info to your index.html It seems that Facebook only 
support strict mode completely.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd">

Original comment by mshaffer...@gmail.com on 1 Feb 2011 at 5:41

GoogleCodeExporter commented 9 years ago
Also could you give me a example of your code how you are using the Facebook.ui 
and the Facebook.callJS would be super helpful... you can email me at 
mshaffer12882@gmail.com thanks!!!

Original comment by mshaffer...@gmail.com on 1 Feb 2011 at 5:51

GoogleCodeExporter commented 9 years ago
got it to work!!! had to edit my FBJSBridge.js to fix the facebook.ui 
function... man i wish facebook and adobe could get on the same page...

Original comment by mshaffer...@gmail.com on 1 Feb 2011 at 6:17

GoogleCodeExporter commented 9 years ago
update... a few problems
1)your right marcos the apprequest is behind the swf.  overlay problem im 
working on.
2)im tring to send it to a specific user using 
Facebook.ui({method: 'apprequests', to:'friendsUID', message: 'Test', data: 
'tracking'});  //again this is how facebook "says how to" ref: 
http://developers.facebook.com/docs/reference/dialogs/requests/

FB.ui({method: 'apprequests', to: '1234', message: 'A request especially for 
one person.', data: 'tracking information for the user'});

however Facebook.ui seems to only take it like 
Facebook.ui("apprequests", {message: 'Hello Friend', to:'uid'});
looks like it is back to editing my FBJSBridge.js this is my function for the 
fb_ui:

function fb_ui( params ) {
    obj = FB.JSON.parse( params );
    var method = obj.method;
    cb = function( response ) { FBAS.getSwf().uiResponse( FB.JSON.stringify( response ), method ); }
    FB.ui( obj, cb );
}

Does anyone have any ideas what i should change this function to so this 
function will work:?

FB.ui({method: 'apprequests', to: '1234', message: 'A request especially for 
one person.', data: 'tracking information for the user'});

Original comment by mshaffer...@gmail.com on 1 Feb 2011 at 6:59

GoogleCodeExporter commented 9 years ago
First, you should update to the latest version of the library, or my branch 
(http://code.google.com/p/facebook-actionscript-api/issues/detail?id=176).
You mentioned that you needed to edit the .js file. There is no js file 
anymore, I rewrote it into an ActionScript class (FacebookJSBridge) for my 
branch that was incorporated into this main library.
You shouldn't have to edit any files.

To make it easier to work with apprequests, I have added an AppRequest object 
in my branch.
You can set the values on an AppRequest object and then use it like this:

Facebook.ui( UIMethod.APPREQUESTS, appRequest.toObject(), onAppRequest );

Original comment by yourpalm...@gmail.com on 3 Feb 2011 at 6:35

GoogleCodeExporter commented 9 years ago
Thank you!!! For everything!!! I'm new to flex and actionscript(my background 
is in c++) Anyhow, I have switched over to the ActionScript class and ditched 
the .js, I removed the GraphAPI_Desktop_1_5.swc and imported 
FacebookGraphAPI.swc from one of the examples.  How do I "compile" the new src 
to FacebookGraphAPI.swc to use the new AppRequest object?(Sorry for the dumb 
question).  I got the following to work(pops up the dialog with all the correct 
information and the other user gets it).  However, I get no callback from the 
onRequestDone Function it never even hits it.  Sorry for the stupid questions 
I've only been using actionscript for a few weeks now.  

public function sendApprequest():void
{
    var values:Object = new Object();
    values.message = "TEST";
    values.to = "1234";
    values.data = "1234";
    values.title = "FileBridge";
    Facebook.ui("apprequests", values, onRequestDone, "popup");
}    

public function onRequestDone(response:Object):void
{
    test.text = "test0";

        if(response && response.request_ids)
    {
        test.text = "test1";    
    }
    else
    {
        test.text = "test2";
    }

}

Original comment by mshaffer...@gmail.com on 3 Feb 2011 at 10:13

GoogleCodeExporter commented 9 years ago
Whenever I specify a value for the 'data' field on sending the request, when 
retrieving the data using the request id, I get only the string value that I 
specified for 'data,' not the rest of the request object. If I omit the 'data' 
field, I get all the request fields as expected (from, to, application, etc). 
Am I the only one? Any tips would be appreciated! Tried with both 1.5 and 1.6.

Send code:
Facebook.ui("apprequests", { message: requestText, title: requestTitle, data: 
"testUserData" }, onResponse, "iframe");

Receive code:
Facebook.api("/"+uid+"/",onComplete); // uid is value passed in as querystring, 
i.e. ?request_ids=1234
function onComplete(object:Object,fail:Object):void
{
    writeLog(object);
    for(var i:Object in object)
        writeLog(i+"="+object[i]);

   // only writes 'testUserData', not all the fields that should normally be in request, i.e. from, to, application, created_time, etc
}

Original comment by maxwag...@gmail.com on 27 Feb 2011 at 9:50

GoogleCodeExporter commented 9 years ago
wow... pretty sure I found the issue in AbstractFacebook.as, 
handleRequestLoad... looks like the code is doing this explicitly! from source 
of 1.6:

line 180: var data:Object = ('data' in target.data) ? target.data.data : 
target.data;
...
line 188: resultCallback(data, null);

I gotta say, not sure why this is desirable - I can still access my user data 
from the outer request object, and I still want all the other data associated 
with the request object. I guess for now I'll make this change locally, but am 
I the only one who thinks it seems sensible to just pass the entire request 
object either way?

Original comment by maxwag...@gmail.com on 27 Feb 2011 at 5:50

GoogleCodeExporter commented 9 years ago
Im having a problem reading the request_ids from the url does anyone know how 
to read in the request_ids from the url. 
example:
http://apps.facebook.com/'appname'/?request_ids=10150114565783599

how do i read in the 10150114565783599 from the url so i know, which apprequest 
the user accepted and came to the canvas from.

Original comment by mshaffer...@gmail.com on 4 Mar 2011 at 5:19

GoogleCodeExporter commented 9 years ago
I'm assuming you are just asking how to get the url variables into your app.

Facebook appends the query string parameters on to your application's url.

From there, you can read the query string parameters using your server side 
language (or even javascript).

You can then pass those parameters into your swf using flashvars.

Original comment by yourpalm...@gmail.com on 4 Mar 2011 at 5:46

GoogleCodeExporter commented 9 years ago
I have this code:

var dat:Object = new Object();
dat.message = "Ayuda a los niños damnificados por el invierno en Colombia";
dat.title   = 'Voces Solidarias';
Facebook.ui( UIMethod.APPREQUESTS, dat, inviteFriendsHandler, 'popup' );

but the handler just work in internet explorer, doesn't work in firefox and 
chrome

I already download the latest version from 
http://github.com/yourpalmark/facebook-actionscript-api

Can you help me please

Original comment by owlrap...@gmail.com on 11 Apr 2011 at 10:13

GoogleCodeExporter commented 9 years ago
Marking as WontFix because reporter acknowledged (in comment 5) that he doesn't 
have the problem anymore. If anyone has similar problems please start a new 
issue 
(providing source code). Thanks!

Original comment by rovertn...@gmail.com on 27 May 2011 at 9:20

GoogleCodeExporter commented 9 years ago
http://developers.facebook.com/bugs/366372663414173

Original comment by der...@idle-games.com on 3 May 2012 at 7:09