2017-01-15 14 views
1

Ok поэтому я использую код я нашел здесь: Read feed on a Facebook page without login in

код выглядит следующим образом

proxy.php

<?php 
// always add this header to ensure the JSON is output in the correct format 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Cache-Control: no-cache"); 
header("Pragma: no-cache"); 
header('Content-Type: application/json; charset=utf-8'); 

$graphUrl = $_POST[graphUrl]; 
if ($graphUrl == "") { 
    $graphUrl = "https://graph.facebook.com/684985445000793/posts"; 
} 

//App Info, needed for Auth 
$app_id = "MY-APP-ID"; 
$app_secret = "MY-APP-SECRET"; 

//retrieve auth token 
$authToken = fetchUrl("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id={$app_id}&client_secret={$app_secret}"); 

//Echo back json to read client side. 
echo fetchUrl("{$graphUrl}?fields=ratings%2Cposts.limit(10)&access_token={$authToken}"); 

function fetchUrl($url){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
    $retData = curl_exec($ch); 
    curl_close($ch); 
    return $retData; 
} 
?> 

index.html

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>FB reader</title> 
</head> 
<body> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 

      var timeout = 5000, 
       load_error; 

      load_error = function (jqXHR, textStatus, errorThrown) { 
       if (errorThrown === "timeout") { 
        alert('Server bussy'); 
       } else { 
        alert('error: 404', textStatus + ": " + errorThrown); 
       } 
      };  

      $(document).ready(function() { 
       console.log('Loading from Facebook...\n'); 

       $.ajax({ 
        type: 'POST', 
        url: 'proxy.php', 
        data: {graphUrl: 'https://graph.facebook.com/684985445000793/'}, 
        timeout: timeout, 
        error: load_error, 
        success: function (rv) { 
         var data = rv.data, 
          len = data.length, 
          i, 
          out = ''; 
         for (i = 0; i < len; i += 1) { 
          if (data[i].description) { 
           out += data[i].description + '\n\n'; 
          } 
         } 
         console.log(out); 
        } 
       }); 

      }); 
     }); 
    </script> 
</body> 
</html> 

Мой proplem что

type: 'POST', 
        url: 'proxy.php', 
        data: {graphUrl: 'https://graph.facebook.com/684985445000793/'} 

, кажется, не работает, как и в моем журнале ошибок для моего proxy.php Я говорю:

PHP Примечание: Использование неопределенной константы graphUrl - предполагается, «graphUrl» в proxy.php на line 8

Так что я принимаю данные: из моего index.html не отправляется.

Любая помощь или предложения, почему я получаю эту ошибку?

Для чего это важно я на общем хозяине ....

+0

Будьте очень осторожны с этим ... вы фактически иметь открытый прокси, которые могут быть использованы хакерами для вредоносных целях. Они даже не обязательно должны ориентироваться на вас ... есть боты, которые сканируют серверы повсюду, просто ищу сценарии, подобные этим. – Brad

+0

Мне стало известно об этом послесловии и удалил этот код –

ответ

2

$graphUrl = $_POST[graphUrl]; должен быть $graphUrl = $_POST['graphUrl'];

+0

Спасибо, что разрешили ошибку –