publish_stream içine yem çıkaramaz

1 Cevap php

i bir php tabanlı fb uygulaması var. her şey iyi çalışıyor, ama ben kullanıcının yemine hikayeler yayınlamak kuramıyorum. i daha iyi anlaşılması için bazı kod bağlama am ...

EDIT: The problem is I am unable to show any fbml/xfbml dialog. I can retrieve information from facebook but the fbml/xfbml just doesnt show up. Even the profile pic is not showing up.

Bu i beslemeyi itmek istediğiniz yerden index.php sayfasıdır.

<?php
    include 'fb_init.php';
?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<!--Main Stylesheet -->
<head>
    <link href="style/style-index.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="JS/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="JS/fbml_init.js"></script>

</head>

<body>

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

<script type="text/javascript">
       FB.init("API_KEY", "xd_receiver.php");

     </script>

    <fb:profile-pic facebook-logo="true" size="square" uid="loggedinuser" ></fb:profile-pic>

this is the javascript fbml_init:

$(document).ready(function() {
    //<![CDATA[  
    var who;

    FB_RequireFeatures(["Api"], function(){ 
        FB.Facebook.init('API_KEY', 'xd_receiver.htm'); 
        var api = FB.Facebook.apiClient; // require user to login 
        api.requireLogin(function(exception)
        { 
            FB.FBDebug.logLevel=1; 
            FB.FBDebug.dump("Current user id is " + api.get_session().uid); 
            });

        var who = api.get_session().uid;


        var notifications;
        notifications = api.notifications_get(function(){});

        var fql_loggeduser_name, fql_loggeduser_status;
        FB.Facebook.apiClient.fql_query("select name, status, profile_update_time from user where uid = "+who,
                                     function(rows) {
                                     });

        FB.Connect.showPermissionDialog("offline_access");
        therestofthecode(who);

        });

        function therestofthecode(who){
            //alert("the uid is: "+who);
            //FB.apiClient.

        }

        function facebook_prompt_permission(permission) {
         FB.ensureInit(function() {
         FB.Connect.showPermissionDialog(permission);
         });
        }

    //]]> 
});

javascript işlevi yukarıda çeşitli fonksiyonları test etmek için sadece bir prototip. i sonuçta yem itmek için bu sadece kullanmak istiyorum. Şaşırtıcı, javascript gayet facebook kullanıcı bilgileri çekiyor:

alt text

Birisi ben burada yanlış yapıyorum ne olduğunu bana söyleyebilir?

1 Cevap

Sen sağ izni talep değil. Bu kodu değiştirin:

FB.Connect.showPermissionDialog("offline_access");

karşı

FB.Connect.showPermissionDialog("publish_stream");

Burada ayrıca ikinci bir parametre belirtebilirsiniz. Böyle bir argüman ile ikinci parametreye bir geri çağırma işlevi verin:

FB.Connect.showPermissionDialog("publish_stream", function(perms){ /* ... */ });

and you can test karşı see if the user accepted or not (!perms will return true if the user cancelled). That way, you can avoid throwing unnecessary errors.