0

基本的に、私は動的なog:imageプロパティを持つウェブサイトを作っています。 PHPで100個の画像を追加し、rand関数で画像を変更しました。 私が問題になっているのは、Facebookが自分のウェブサイトをキャッシュしており、ユーザーがURLを共有するたびに同じ画像が毎回表示されることです。リンクが投稿され、ランダムな画像が表示されるたびに、Facebookが再クロールするようにしたい。og:image facebookプロパティを動的に変更するサイトを開発するには?

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
     <meta name="viewport" content="initial-scale=1, maximum-scale=1"> 
     <meta name="twitter:card" value="summary"> 

     <meta property="fb:app_id" content="xxxxxxxxxxxxx10" /> 
     <meta property="og:description" content="Like it? Share with friends... "/> 
     <meta property="og:title" content="Your future company is" /> 
     <meta property="og:type" content="article" /> 
     <meta property="og:url" content="http://justtodo.xyz/company/" /> 
     <?php 
      $imageURL = 'http://justtodo.xyz/company/images/' . rand(1, 100) . '_260x135.jpg'; 
     ?> 
     <meta property="og:image" content="<?php echo($imageURL)?>" /> 
     <meta property="og:image:type" content="image/jpeg" /> 
     <meta property="og:image:width" content="200" /> 
     <meta property="og:image:height" content="200" /> 


    <script> 
     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
     })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 

     ga('create', 'UA-100487432-1', 'auto'); 
     ga('send', 'pageview'); 

    </script> 

    <script src="https://code.jquery.com/jquery-1.7.1.min.js" integrity="sha256-iBcUE/x23aI6syuqF7EeT/+JFBxjPs5zeFJEXxumwb0=" crossorigin="anonymous"></script> 

    <script> 




    window.fbAsyncInit = function() { 
     FB.init({ 
      appId   : 'xxxxxxxxxxxxx10', 
      autoLogAppEvents : true, 
      xfbml   : true, 
      version   : 'v2.9' 
     }); 
     FB.AppEvents.logPageView(); 
     }; 

     (function(d, s, id){ 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) {return;} 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/en_US/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 

     FB.api('https://graph.facebook.com/', 'post', { 
      id: '<?php echo($imageURL)?>', 
      scrape: true 
     }, function(response) { 
      //console.log('rescrape!',response); 
     }); 
    </script> 

    <title>Your future company...</title> 


    <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=https://youtu.be/uqJNjb-zg3s"> 
    <script> 
    setTimeout(function() {  
    window.location.href = "https://youtu.be/uqJNjb-zg3s"; 
    },10); 
    </script> 



    </head> 
<body> 


    <div style="text-align: center;font-size:2em;font-family:Consolas, Andale Mono, Lucida Console,Lucida Sans Typewriter, Monaco, Courier New, monospace">Loading your company...</div> 
</body> 
</html> 
+0

同じURLの代わりに一意のURLを共有する – WizKid

答えて

0

あなただけの100枚の写真を持ってください:ここで

は、私が開発したページのコードはありますか?私はすでに500以上を持っており、あなたがそれをやる方法も知りたい。この「Facebookコメントゲーム」はすでに熱狂しています。さて、私が研究した限りでは、Facebookのキャッシュイメージを変更する3つの方法があります。 1.)24時間ごとにFacebookは自動的に新しい画像を検索します(これは私にとっては役に立たない)。 2.)https://developers.facebook.com/tools/debug/を使用する(「抽出を再開」ボタンは無限ループにあると思いますが、これを行う方法はわかりません。また、ブラウザでサイトを開いている間にのみ動作します)。 3)あなたは、このAJAXコードで更新を要求することができます

Var fbxhr = new XMLHttpRequest(); 
fbxhr.open ("POST", "https://graph.facebook.com", true); 
fbxhr.setRequestHeader ("Content-type", "application/x-www-form-urlencoded"); 
fbxhr.send ("id = http: //you_site.com/&scrape=true"); 

このJavaScriptコードに加えて、このタグ:

<Meta http-equiv = "refresh" content = "0"/> 

そして、このPHPコードを持つ:

<Meta property = "og: image" content = "<? Php echo 'http://your_site.com/'.mt_rand(1,100).'.jpg';?>"/> 

この原因は、ページは0秒ごとに更新され、「1.jpg」から「100.jpg」に名前を付けられる新しいランダムな画像を受信します。 その後、AJAXを介して画像が更新されることを要求します。 また、Javascript自体の内部でループを実行することもできますが、PHPをループ内で呼び出すようにする必要があります。私はまだそれをテストしていない。

私の問題は:これは、ブラウザでサイトを開いて無限リフレッシュを行っている間のみ動作します。

編集:この投稿の回答は、このゲームが出現し始めた当日06/03/2017にありました。私はPythonについて何も理解していません。 Pythonを自分のHTMLに入れる方法を教えてください。

リンク:Dynamic Image for Facebook Opengraph og:image meta tag

関連する問題