Simple Question

Sep 17, 2007 at 9:03 PM
I have a default.aspx page that is a CanvasIFrameBasePage

Then I have a frmInvite.aspx page that is a CanvasFBMLBasePage

If I want the frmInvite page to display the folwoing info
What would be the best way to do it put this code directly in the HTML page?
Or use the setfbml() code.

Please let me know ASAP.

Thanks
<fb:request-form
action="http://apps.facebook.com/myapp"
method="POST"
invite="true"
type="MyApp"
content="Your text goes here." >
<fb:multi-friend-selector
showborder="false"
actiontext="Invite your friends to use MyApp.">
</fb:request-form>
</fb:fbml>
Sep 17, 2007 at 9:22 PM
Ya setFBML is not what I am looking for since that only sets the info on the users profile. What I am looking for is to actually show fbml on my frmInvite.aspx page.

Thanks
Oct 12, 2007 at 8:50 AM
Edited Oct 12, 2007 at 10:16 AM
I got the NEW invite control working with but with a problem!

The multi friend selector loads on the page but when a friend is selected it does not update the count
and the "Send Invitation" button does nothing?

but if on the page id do the following...

<asp:label id="RequestForm" runat="server" text=""></asp:label>
<fb:requestform action = 'default.aspx' method = 'POST' invite = 'true' type = 'My Application Name' Content = "This application does something to your friends. Join me in the Application! <fb:reqchoice url='http://www.facebook.com/add.php?apikey=MYAPIKEY' label='Check out the Application!' />"> <fb:multifriendselector showborder = 'false' actiontext = 'Invite your friends to the Application.' rows='3' max='20' /> </fb:requestform>

and in the code behind

Me.RequestForm.Text = "<fb:request-form " & _
"action = 'default.aspx' " & _
"method = 'POST' " & _
"invite = 'true' " & _
"type = 'My Application Name' " & _
"Content = ""This application does something to your friends. Join me in the Application! " & _
"<fb:req-choice url='http://www.facebook.com/add.php?api_key=MYAPIKEY' label='Check out the Application!' />""> " & _
"<fb:multi-friend-selector " & _
"showborder = 'false' " & _
"actiontext = 'Invite your friends to the application.' " & _
"rows='3' " & _
"max='20' /> " & _
"</fb:request-form>"

it renders two multi friend selectors selecting one updates the selected count on the other and pressing the "Send Invitation" button actually sends the invite!!!

so how do we get this to work without needing 2 controls on the page?? Please help
Oct 17, 2007 at 1:54 PM
Hi bflod,

I tried to apply your way, but even I cant get anything displayed on page.

Are you putting this code to default.aspx page or another which action points to default.aspx? I mean what is "action" key for?
Oct 18, 2007 at 2:31 AM
Hi,

This code is in a separate page called invite.aspx.
The action parameter points to the path you want the user to go to when they click the 'Skip' button or click the 'Send Invitation' button.
In my case I just have them go to my default.aspx which is the main page.
Oct 18, 2007 at 6:30 AM
Hi ,

Thanks for response.
I did it. Now it works exactly you mentioned in your post. I mean, it brings two friend selector and when you select a friend the counter of bottom list, changes.
If I create a single selector, in this case, the counter and button etc. does not work.

Another point is, you must use CanvasFBMLBasePage base class. Not IFrame. My aim was make it work in CanvasIFrameBasePage . But could not find a way yet.

So, Did you find any way to make it work by displaying just a single friend selector?

If yes, could you please share your solution with us?

Thank you
ilhan
Oct 18, 2007 at 7:20 AM
Hi bflood,

I think I fixed it..

I didnt use the code behind part (RequestForm.Text=..") Only the fb tags solved.
I think the point is, the <fb:request-form should not be inside a <form></form> control. It must stay as stand alone on the page.

I hope it helps you
Oct 18, 2007 at 6:28 PM
Edited Oct 18, 2007 at 6:46 PM
Hi ilhanercan,

Nice work! Glad you thought of that. The new Request Control works now. Thanks!

Placing the following FBML on the page and not inside <form></form> tags worked!

<fb:requestform action='default.aspx' method='POST' invite='true' type='My Application Name' Content="This application does something to your friends. Join me in the Application! <fb:reqchoice url='http://www.facebook.com/add.php?apikey=MYAPIKEY' label='Check out the Application!' />"><fb:multifriendselector showborder='false' actiontext='Invite your friends to the Application.' rows='3' max='20' /></fb:requestform>
Oct 19, 2007 at 10:23 PM
{"
Hi again,

Now I have another problem :(

When I use the fbml tags written in previous message, I can do invitations. My Friend can recieve it. But when he clicks the confirm button, it switches to facebook's home page. Normally ir should bring up application installation confirmation. But it does not. There is no server side code. just fbml tags.

<fb:fbml>
<fb:request-form
action="default.aspx"
method="POST"
invite="true"
type="Hangi Dizi"
content="add this app <fb:req-choice url='http://www.facebook.com/add.php?api_key=d43b5479ea3b7cc36f5c2bf479886366' label='Add' />">

<fb:multi-friend-selector
showborder="false"
actiontext="Invite your friends to use hangi dizi." max="20">

</fb:request-form>
</fb:fbml>

Do you have any idea?

"}
Oct 21, 2007 at 6:57 AM
Edited Oct 21, 2007 at 7:03 AM
Hi Ilhan,

Nothing wrong with your request form.

I've seen this happen if your application settings set to only allow developers to add the application and the friend that is trying to add the application is not a developer.

Or if the application is not set to allow the application to be added the user trying to add the application will simply be redirected to the facebook home page.
Oct 23, 2007 at 8:20 AM
Hi bflood,

You are absolutely right. I changed that setting and now it can be added :)

Thanks
Dec 24, 2008 at 5:54 AM
Hi Bflood
             I want to Open Invite Friend Popup window of facebook to open in my application i have used the Javascript API of facebook which allows me for login and then redirect to my page with userid but after that i m unable to open the window which will show me the facebook friend .can you help me in that or should i use some thing else as my code is in C#.I have also copied your code given in this discussion but my FBML tags were not reconized i.e. the browser is not showing anything to me am i wrong some where? or i have to include anything else.please if you can provide me any sample code snippet or link which can open that window in my application in c# asp.net 3.5.


Best Regards
pawan bali
pbali@snlcorporate.com
Feb 23, 2009 at 8:34 PM
Edited Feb 23, 2009 at 8:39 PM
Hey. I've been trying to create the multifriend selector menu but my page shows blank when I run it. I'm using a page called "Login.aspx" where people log in using Facebook Connect, then they are redirected to a page called "Comments.aspx", thats where I want the multi-friend-selector thing to show up. At first I though that user's info wasn't there but when I tryed with the new Facebook comments component it worked.. Here is the code i wrote in "Comments.aspx.cs":

<body>
<fb:fbml>
<fb:request-form action="Comments.aspx" method="POST" invite="true" type="Comments" content="addthis app <fb:req-choiceurl='http://facebook.com/add.php?api_key=e8730f6002c961c36dcaae01447591e1' label="Add"/>">
<fb:multi-friend-selector showborder="false" actiontext ="Invite" max="20">
</fb:request-form>
</fb:fbml>
</body>
</html>
Mar 13, 2009 at 12:07 AM
I'm using the IFrame application and have the multi-friend-selector on my master page... which works.

What I would like to do is to have this in a user control as I only use 1 aspx page and load all my content in web user controls with jquery via web service, but then the multi-friend-selector doesn't render.

Any ideas? Everything else working fine... just not when I load the content through the user control.
Apr 3, 2009 at 7:18 AM
I m using below code in order to invite freinds, but it didnot work.It shows the blank page.
Can anybody help me out in this ASAP?

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link rel="stylesheet" href="http://static.ak.connect.facebook.com/css/fb_connect.css" type="text/css" />
</head>
<body>
    

<table width="100%"  border="0" cellspacing="0" cellpadding="0" align="center">
        <tr>
               <td> <IMG src="/beta/images/header_bg.jpg" WIDTH=9 HEIGHT=180 ALT=""></td>
       </tr>
      </table>
  <center>
 

   
        <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"
    type="text/javascript"></script>

  <script type="text/javascript">
    FB_RequireFeatures(["XFBML"], function()
    {
      FB.Facebook.init("1347183ebb3635ccb120cc050d7511bd", "xd_receiver.htm");
    });
  </script>
        
     <fb:fbml>
    <fb:requestform action='IF.aspx' method='POST' invite='true' type='Comments' Content="This application does something to your friends. Join me in the Application! <fb:reqchoice url='http://www.facebook.com/add.php?apikey=03576cdd00084d7ca5e9138161e95de6' label='Check out the Application!' />">
    <fb:multifriendselector showborder='true' actiontext='Invite your friends to the Application.' rows='3' max='20' /></fb:requestform>
        </fb:fbml>
      

        
       
              </center>
       


    </div>
 
</body>
</html>
Apr 3, 2009 at 9:50 AM
Hi

I am using the IFame option, and here is some of my code that works:

I have the following in the <head>:

<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"
        type="text/javascript"></script>

then in the body:

<fb:serverfbml>
<script type="text/fbml">
<fb:fbml>
.....
</fb:fbml>
</script>
</fb:serverfbml>

after this i have the script:

<script type="text/javascript">
        FB_RequireFeatures(["XFBML"], function() {
            FB.Facebook.init('<%=ConfigurationSettings.AppSettings["APIKey"] %>', "xd_receiver.htm");
        });
    </script>

    <script type="text/javascript">
        $(document).ready(function() {
            FB_RequireFeatures(["CanvasUtil"], function() {
               
                FB.XdComm.Server.init("xd_receiver.htm?v=2");
               
                var failed;
                try {
                    /*FB.CanvasClient.setSizeToContent();*/
                }
                catch (e) {
                    failed = true;
                    try {
                        FB.CanvasClient.setCanvasHeight("1500px");
                    }
                    catch (e) {
                   
                    }
                }
               
                if (!failed) {
                    FB.CanvasClient.startTimerToSizeToContent();
                }

            });
        });

        function resizeContent() {
            FB.CanvasClient.setSizeToContent();
            FB.CanvasClient.startTimerToSizeToContent();
        }      
    </script>