2012-11-26 54 views
-1

這裏是我的連接:如何獲取發佈在Facebook牆上的publish_stream權限?

window.fbAsyncInit = function() { 
    FB.init({ 
     appId: "348044465251207", 
     status: true, 
     cookie: true, 
     xfbml: true, 
     oauth: true 
    }); 
    FB.Event.subscribe('auth.login', function (response) { 
    var credentials = { uid: response.authResponse.userID, accessToken: response.authResponse.accessToken }; 
     SubmitLogin(credentials); 
    }, { perms: 'read_stream,publish_stream,offline_access' }); 




    FB.getLoginStatus(function (response) { 
     if (response.status === 'connected') { 
      FB.api('/me', function (response) { 
       //console.log('Good to see you, ' + response.name + '.'); 

       mail = response.email; 
       currentName = response.name; 
       gender = response.gender; 
       place = response.location; 

       $.ajax({ 
        url: "/Login/DetailsToDataBase", 
        type: "POST", 
        data: { gender: gender, mail: mail, place: place }, 

        success: function (data) { 
         generalScore = data; 
         div_element = document.getElementById("userScore"); 
         div_element.innerHTML = "Your score is: " + generalScore; 
        } 

       }); 

      }); 
     } //end if 
     else if (response.status === 'not_authorized') { alert("user is not authorised"); } 
     else { alert("user is not conntected to facebook"); } 

    }, { scope: 'read_stream,publish_stream,offline_access' }); 

    function SubmitLogin(credentials) { 
     $.ajax({ 
      url: "/Login/FacebookLogin", 
      type: "POST", 
      data: credentials, 
      error: function() { 
       alert("error logging in to your facebook account."); 
      }, 
      success: function() { 
       // alert("success log in facebook"); 
       //  window.location.reload(); 
      } 
     }); 
    } 

}; 

(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)); 

,這是張貼在用戶的Facebook牆上功能:

var params = {}; 
params['method'] = 'stream.publish'; 
params['message'] = currentName +' earn '+ score+ '$ in battelship!'; 
params['name'] = 'BattelShip'; 
params['description'] = 'let\'s see if you sucsses to break my highlight'; 
params['link'] = 'https://apps.facebook.com/348044465251207/?fb_source=search&ref=ts&fref=ts'; 
params['picture'] = 'http://www.israup.net/images/98d0808995e356818a0c016bc1a2a7cc.png'; 
params['caption'] = 'Try it by Yourself!'; 

FB.api('/me/feed', 'post', params, function(response) { 
    if (!response || response.error) { 
    console.log('Error occured'); 
    } else { 
    console.log('Published to stream - you might want to delete it now!'); 
    } 

});

郵寄只在我的牆上(因爲我的應用程序的管理員),但對於其他用戶來說,它說: 「用戶沒有授權的應用程序來執行此操作」

請幫助我!

回答

1

您需要在Login文檔再次我想看看,你使用的參數中被廢棄在一年前贊成「範圍」您的登錄流程「燙髮」的一部分 -

檢查SDK附帶的示例並閱讀登錄文檔,儘管如果您修復該錯誤,代碼可能會正常工作,但由於您正在編寫的示例已寫入,因此我會警惕API中其他內容已發生更改,您可以通過使用該訪問令牌調用/ me/permissions來檢查授予訪問令牌的權限

相關問題