[英]Dynamic facebook share page using sharer.php approach
我創建一個Facebook共享按鈕的方式是: 1.創建一個share.php(facebook在這個假網站中捕獲元數據並重定向到我要共享的實際網站 )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $_GET['title'];?></title>
<meta property="og:url" content="<?php echo $_GET['url'];?>" />
<meta property="og:title" content="<?php echo $_GET['title'];?>" />
<meta property="og:description" content="<?php echo $_GET['title'];?> "/>
<?
if (isset($_GET['leftImg']) && $_GET['leftImg'] != 'undefined') {
echo '<meta property="og:image" content="'.$_GET['leftImg'].'"/>';
}
if (isset($_GET['rightImg']) && $_GET['rightImg'] != 'undefined') {
echo '<meta property="og:image" content="'.$_GET['rightImg'].'"/>';
}
?>
</head>
<body>
<script>
window.location.href = "<?php echo $_GET['redirect'];?>";
</script>
</body>
</html>
2. share.php中的數據需要從主頁傳遞
window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent('http://' + window.location.hostname + '/share.php?url=http://yahoo.com&title=test&redirect=..&leftImg=......&' ),'sharer','toolbar=0,status=0,width=826px,height=536');
問題是, og:url應該是什么 ? 有兩個鏈接:share.php和我要共享的實際網站,
如果我使用share.php?title = ...&description = ..,我仍然必須指定特定的URL ,那很奇怪:它將是share.php?url = share.php?url = share.php,最終我仍然無法引用正確的網址進行共享
如果我使用實際的網站 ,則它無法收集任何元數據,因為我的想法是所有元數據都位於share.php上
如何解決該問題? 謝謝
!!!!!!!!!!!!!!!!!!於11/4/2013更新:!!!!!!!!!!!!!!
我發現了根本問題,它是由不同的圖像來源引起的:
eg. http://www.tekxon.com.pk/sites/all/themes/bluemasters/images/gallery/3.jpg
這張圖片是Facebook在共享頁面上按預期方式捕獲的,可以正常工作。
eg. http://54.251.107.161/source/test2/2012/05/07/0/3/A/Content/15/Pg015.png
但是,托管在我的服務器中的該映像第一次沒有顯示在共享頁面上,而是僅在重新加載頁面時才顯示。 *盡管它沒有顯示在共享頁面上,但是圖像顯示並存在於我的Facebook主頁上的共享內容中。
為什么會發生這種情況,這是由於防火牆的某些錯誤設置引起的嗎? 謝謝
og:url
應該是您要重定向到的網站
og:url
應該是包含元數據的網站-在這種情況下,您應該使用重定向和元數據或參考share.php?url = the_url創建網站。
我認為您只是被og:url
參數所誤導:
og:url
對象的規范URL,將在圖形中用作其永久ID
聽起來完全合法, 但是 :當您指定該參數時,Facebook從該URL而不是從當前頁面獲取元數據。 這就是為什么將引用的URL放在那里時沒有元數據的原因。 以及該討厭的share.php?url=share.php?url=share.php...
。
您嘗試使用href
屬性完成操作: https : //developers.facebook.com/docs/reference/plugins/like/
我不確定您要構建的內容,但是也許通過這種方式,您甚至可以將共享按鈕集成到您重定向到的頁面中。 然后,您仍然要設置該偽造的元數據頁面,然后將其放入該頁面(以前重定向到)的og:url
中,然后:)
您可以按照演示進行操作,祝您好運。
http://www.kimwoodbridge.com/how-to-create-your-one-facebook-share-url/
順便說一下,在測試新方法之前。 您最好清除fb的會話。 http://developers.facebook.com/tools/debug/og/object?q=http://yourwebsite.com
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.