gpt4 book ai didi

php - Facebook 开放图缓存问题

转载 作者:行者123 更新时间:2023-12-02 19:45:06 29 4
gpt4 key购买 nike

我正在创建一个应用程序,当用户下载特定音乐专辑时,该应用程序会将信息发布到 Facebook。我的信息解析正确。因此,如果用户单击专辑 1 的下载,它将提取信息并提交到打开的图表并显示在 Facebook 上,但是当我单击下一个专辑按钮时,它不会解析专辑 2 的信息,而是发布再次获取专辑1的信息。我已经尝试过 fbrefresh=CAN_BE_ANYTHING 但似乎没有任何效果。有人对此有见解吗?

Album 1 Meta Information parse.php?album=The%2520Pink%2520Slip

Album 2 Meta Information parse.php?album=The%2520Sexy%2520Single

下面是我正在使用的代码:

<script type="text/javascript">
function postAlbum(album) {
FB.api('/me/skibsthekid:listen_to?album=http://www.skibsthekid.com/parse.php?album=' + album, 'post',
function(response) {
if (!response) {
alert('Error Occurred I got no response with ' + $pageURL);
} else if (response.error) {
alert('Error Occurred '+ response.error);
} else {
alert('Post was successful! Action ID: ' + album);
}
});
}

解析.php

<?php
$title = $_GET['album'];
foreach(glob('files/'. $title .'/*.jpg') as $art) {
$art = str_replace(" ", "%20", $art);
$image = 'http://skibsthekid.com/' . $art;
}
?>

<meta property="fb:app_id" content="185324271585974" />
<meta property="og:type" content="music.album" />
<meta property="og:title" content="<?php echo $title; ?>" />
<meta property="og:image" content="<?php echo $image; ?>" />
<meta property="og:url" content="http://www.skibsthekid.com/parse.php?album=<?php echo urlencode($title); ?>&fbrefresh=CAN_BE_ANYTHING" />

最佳答案

当您将请求发布到 Facebook 的 API 时,您并未对目标 URL 进行 URL 编码。第二个 ? 之后的任何内容都将被忽略。你应该这样做:

var album_url = "http://www.skibsthekid.com/parse.php?album=" + album;
FB.api('/me/skibsthekid:listen_to?album='+encodeURIComponent(album_url), 'post',...

关于php - Facebook 开放图缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957768/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com