2012-05-03 4 views
0
<script> 
    function postToWall() { 
    var params = {}; 
    params['message'] = 'hello visit lol'; 
    params['name'] = 'cazzo frega'; 
    params['link'] = 'http://apps.facebook.com/xxxxxxxxxxxxxxxx/'; 
    params['picture'] = 'http://2.gravatar.com/avatar/7da5bead8xxxxxxxxxxxxxx75bac'; 
    params['description'] = 'test di frase'; 

    FB.api('/me/feed', 'post', params, function(response) { 
     if (!response || response.error) { 
     alert('lol'); 
     } else { 
     alert('ok'); 
     } 
    }); 
    } 
</script> 

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId:xxxxxxxxxxxxxxx, cookie:true, 
    status:true, xfbml:true 
    }); 
</script> 
<a href="javascript:postToWall()">click</a> 

poster sur le mur de facebook un message whidouth afficher le dialogue de boîte. Mais si je veux l'avoir en automatique, cliquez ici? J'ai essayé whit body onload = "javascript: fucntion(), mais obtenez une erreur ... vous avez une idée?Javascript sdk auto pubblish sur facebook mur

Répondre

0

Vous devez vous assurer de demander l'autorisation" stream_publish ", si vous l'avez, vous pouvez auto-publier avec le code ci-dessus.Sans l'autorisation, il apparaît la boîte de dialogue bleu

0

Vous devez mettre

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 

sur le dessus:) .....................

3

Vous pouvez publier à tous les utilisateurs mur s'il avait accordé l'autorisation pour votre application de développeur Facebook de publier sur son mur.

L'utilisateur peut accorder l'autorisation (portée: Publish_stream) pendant qu'il se connecte à votre application. Vous devez spécifier l'autorisation ici. L'exemple de code est le suivant.

<div id="fb-root"></div> 

<script type="text/javascript> 
var appid = $('#FB_appId').val(); 
var appsecret = $('#FB_secretkey').val(); 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId: appid, // App ID 
       status: true, // check login status 
       cookie: true, // enable cookies to allow the server to access the session 
       xfbml: true // parse XFBML 
      }); 


     }; 

     // Load the SDK Asynchronously 
     (function (d) { 
      var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
      if (d.getElementById(id)) { return; } 
      js = d.createElement('script'); js.id = id; js.async = true; 
      js.src = "//connect.facebook.net/en_US/all.js"; 
      ref.parentNode.insertBefore(js, ref); 
     } (document)); 



        FB.login(function (response) { 
         if (response.authResponse) { 
          alert(response.authResponse.userID); 


         } else { 

          console.log('User cancelled authorization'); 
         } 
        }, { scope: 'publish_stream' }); 


</script> 

Ici, vous pouvez obtenir l'ID utilisateur de l'utilisateur connecté.

Ensuite, vous devez vous applicatiON accesstoken en passant applicationId et applicationsecretkey et comme suit:

string accesstoken = new System.Net.WebClient().DownloadString("https://graph.facebook.com/oauth/access_token?client_id= fbappId &client_secret= fbsecretkey &grant_type=client_credentials"); 

Maintenant vous avez quatre paramètres

  • UserId
  • Accesstoken
  • AppId
  • AppSecret

L'utilisation de ces paramètres, vous pouvez poster sur son mur comme suit:

 $.ajax({ 
       type: 'POST', 
       url: 'https://graph.facebook.com/' + fb_userid + '/feed?method=post', 
       data: { 
        access_token: fb_accesstoken, 
        message: 'Hello world! My first post' 
       }, 
       success: function (data) { 

        alert(data.Id); 
       }, 
       error: function (data) { 

        alert('Failed to post to facebook'); 
       }, 
       dataType: "jsonp" 
      }); 

la fonction retourne le succès Facebook après Id.

+0

Vous avez manqué une "partie texte/javascript sur la troisième ligne. – LucasBr

Questions connexes