我有一个'添加到时间轴'按钮,我已经可以使用其他功能将帖子添加到时间轴,但现在我希望能够获取动作的requestID,以便我可以从其他javascript函数中删除它有。我一直在寻找,但找不到一个好的例子,以便我可以学习如何获取ID,我仍然对如何做到这一点感到困惑。这是代码:
<script type="text/javascript">
function deleteRead(requestId)
{
FB.api(
requestId,
'delete',
function(response) {
if (!response || response.error) {
alert('error...');
} else {
alert('Successfully Deleted!');
}
});
}</script>
直接添加帖子的操作ID号码,我可以删除时间轴上的帖子。但我必须自动获取每个帖子的ID。
我是否必须使用PHP SDK才能获取requestID?这是我正在使用的其他代码:
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : 'I-have-my-app-ID-here', // 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';
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
更好的是,有没有办法可以通过PHP获取requestID并将其传递给变量?取决于帖子(如果它被添加到时间轴),以便我可以用“requestID”替换它,如:
<?php echo $requestID; ?>
这样我可以使用我的javascript中的php代码,其中requestID是,并且你想要使用在同一页面中为其他东西获得的相同requestID。示例:如果帖子被添加到时间轴,它将在该帖子页面上显示它的请求ID号,如果只有添加到时间线时才显示删除按钮,如果没有添加,则不显示删除按钮条件陈述。
答案 0 :(得分:0)
有两种方法可以做到这一点:
示例代码:
// get activity from Facebook
$actions = $facebook->api('/me/' . $action_id );
// get ID of last action
echo $actions[0]['id'] );
然后,您可以从上方获取帖子的ID(例如$actions[0]['id']
)并将其传递给您的JavaScript函数或创建一个PHP函数来删除该操作。或者,您可以遍历$actions
以搜索特定操作是否已存在,通过URL进行匹配,例如
if ( $actions[0]['data']['article']['url'] == $current_url ) {
...
}