我一直在使用PHP-SDK的牆貼,但我轉換到JavaScript SDK熟悉的彈出窗口和回調。當應用程序URL指向Javascript時,我已經設法使其工作,但我需要能夠從AS3遊戲中調用它。FB.ui iFrame/Popups沒有出現
我不確定它是認證問題還是調用它的問題。我嘗試使用console.log,我從來沒有在Firebug中看到它。
這是我的郵編。
<?php
include 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => '165114483572553',
'secret' => 'c65114e7dbc8b1eeed9f6535c1aee888',));
$user = $facebook->getUser();
$message = $_POST['message'];
$url = $_POST['link'];
$picture = $_POST['picture'];
$name = $_POST['name'];
$description = $_POST['description'];
$userID = $_POST['id'];
?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="https://www.facebook.com/2008/fbml">
<body>
<div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<script>
console.log("script");
FB.init({appId: "APP-ID", status: true, cookie: true});
var caption = "Come Play with Me!";
var description = 'Sup.';
var name = 'TaDa';
var picture = 'http://fbrell.com/f8.jpg';
var userID = 'USER-ID';
var message = 'hello';
var url = 'http://apps.facebook.com/zombie-kiri';
postToFeed();
function postToFeed() {
console.log("hello post");
// calling the API ...
var obj = {
method: 'feed',
to: userID,
message: message,
link: url,
picture: picture,
name: name,
caption: caption,
description: description,
};
function callback(response) {
document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
}
FB.ui(obj, callback);
}
</script>
</body>
</html>
頂部的PHP身份驗證和POST變量都是測試。無論是否使用PHP,這都不會運行。
可能我也可以使用Graph調用來做到這一點,但我想要訪問JS SDK中包含的Invite Friend菜單。
我以前試過,它沒有工作。我把它放回來,看着它說用戶沒有通過身份驗證的日誌。 我也在控制檯出現這個錯誤: '不安全的JavaScript嘗試訪問框架與URL http://apps.facebook.com/zombie-kiri/?ref=bookmarks&count=0&fb_source=bookmarks_apps&fb_bmpos=1_0從框架URL https://s-static.ak.fbcdn.net/connect/xd_proxy.php?version=3#origin=MYHOST&relation=top.frames%5Biframe_canvas%5D&transport=postmessage域名,協議和端口必須匹配.' 由於空間的原因我省略了一些字符。 –