Hey Udvikleren!
Jeg håbede på, at der var en javascript haj herinde som kunne fortælle mig hvordan jeg kan forbedre mit script, ved at dele et array op.
P.t. fungere mit script præcis som det skal (apprequest til Facebook). Men hvis mit array indeholder mere end 49 id's (1,2,3,4,5) vil Facebook annulere (da det er deres limit).
Så hvis brugeren har valgt at invitere mere end 50 venner, så skal invitationen deles op. Hvis response er OK med de første 49, så skal den tage de næste 49 venner i rækken.
I PHP havde det ikke været noget problem for mig, men jeg er ikke så skarp i JS.
Mit script ser således ud:
- <?php
- include("config.php");
- ?>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:fb="https://www.facebook.com/2008/fbml">
- <head>
- <title>Inviter</title>
- </head>
-
- <body>
- <div id="fb-root"></div>
- <script src="http://connect.facebook.net/en_US/all.js"></script>
- <p>
- <input type="button" id="autosubmit"
- onclick="sendRequestToManyRecipients(); return false;"
- value="Send invitation"
- />
- <input type="hidden"
- value="100003264123738"
- name="user_ids" size=”50” />
- </p>
-
- <div id="fb-msg"></div>
- <p><i>Godkend popup vinduer, for at invitations-processen skal gå hurtigere.</i></p>
- <script type="text/javascript" src="js/jquery.min.js"></script>
- <script>
- FB.init({
- appId : '<?php echo $config['appId']; ?>',
- status : true,
- cookie : true,
- frictionlessRequests : false,
- oauth: true
- });
-
- function sendRequestToManyRecipients() {
- var user_ids = document.getElementsByName("user_ids")[0].value;
- FB.ui({method: 'apprequests',
- message: 'Min request test',
- to: user_ids,
- }, requestCallback);
- }
-
- function requestCallback(response) {
- // Handle callback here
- console.log(response);
- if(response) {
- document.getElementById('fb-msg').className = "alert alert-success";
- document.getElementById('fb-msg').innerHTML = "Opslaget er nu delt på Facebook!"+response;
- } else {
- document.getElementById('fb-msg').className = "alert alert-success";
- document.getElementById('fb-msg').innerHTML = "Invitationen blev ikke afsendt. Skal vi <a href='?'>gå videre</a> eller vil du <a href='#' onclick='sendRequestToManyRecipients(); return false;'>prøve igen?</a>";
- }
- }
- $('#autosubmit').click();
- </script>
- </body>
- </html>
Jeg er godt klar over, at det er en rimelig kompliceret opgave, men jeg prøver lykken.
På forhånd tak!
Indlæg senest redigeret d. 10.03.2013 15:54 af Bruger #14015