Pergunta

Eu estou procurando um bom, função PHP simples para chegar em minhas últimas atualizações de status do Facebook. Alguém sabe de um?

Obrigado!

EDIT:. Eu adicionei uma meia-solução abaixo

Ou se alguém sabe uma boa maneira de ler no feed RSS e cuspir a atualização de status recente?

Foi útil?

Solução 9

Uma vez que eu não poderia usar a rota API, eu fui com o RSS encontrada em: http://www.new.facebook.com/minifeed.php?filter=11

E usou a seguinte função PHP, chamado StatusPress , com alguma das minhas próprias modificações, para analisar o feed RSS para o meu status no Facebook. Funciona muito bem!

Outras dicas

Uma verificação rápida em PERA encontrados Services_Facebook

Esta é uma resposta incompleta, mas é isso que eu comecei até agora:

Primeiro: adicionar o aplicativo desenvolvedor no FB . Em seguida, criar uma nova aplicação. Chame do que quiser.

Segundo: Baixar o cliente PHP despejá-lo em algum lugar em seu serviço de hospedagem, ou seja, / facebook /

Em terceiro lugar: Copie o seguinte código iniciante para obter-se iniciado em um arquivo php:

 <?php
 require_once('facebook/php/facebook.php');
 $facebook = new Facebook("YOUR_API_KEY","YOUR_SECRET_KEY");
 $result = $facebook->api_client->fql_query("SELECT status FROM user WHERE uid = YOURIDNUMBER");
 // OR --- they both get the same data
 $result = $facebook->api_client->users_getInfo(YOURIDNUMBER,'status');
 print_r($result);
 echo "<pre>Debug:" . print_r($facebook,true) . "</pre>"; // debug info
 ?>

Outras informações:

Espero que isso ajude alguém começar!

EDIT: Parece que FB não vai deixar você status de acesso de alguém, mesmo que o offline_access está ligado, a menos que você é essa pessoa ou seu amigo (dependendo de suas configurações de privacidade)

Eu fiz no entanto, finalmente conseguiu encontrar o feed RSS na nova versão perfil: http://www.new.facebook.com/minifeed.php?filter=11

Eu encontrei uma maneira de buscar o seu estado mais recente facebook. Isto é como você fazê-lo:

1) Criar um app do facebook , e copiar o seu segredo aplicativo e ID de aplicação .

2) Conceder o read_stream aplicativo e offline_access ao seu perfil. ( http://developers.facebook.com/docs/authentication/permissions ) Para buscar seu status mais recente do aplicativo precisa de uma access_token. Com offline_access concedido a access_token deve "nunca" expirar. A maneira mais fácil de fazer isso é clicar no botão gerado por este código: (! Certifique-se de preencher 'o seu ID de aplicativo' e um conjunto de cookies para true)

<fb:login-button perms="read_stream,offline_access"></fb:login-button>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});</script>

3) Agora, tente descobrir o que access_token ele está usando. O access_token é salvo no cookie fbs_appId. Localizá-lo usando seu navegador ou usando $_COOKIE['fbs_appId']. Procure access_token=....

4) Agora que você tem um (espero) não expirar access_token você pode usar o seguinte código:

$access_token='xxxxxxxxxxxxxxxxxxxx';
$appId='123456789132456789';
$appSecret='xxxxxxxxxxxxxxxxxxxx';
$profileId='123456789';

//http://github.com/facebook/php-sdk/blob/master/src/facebook.php
require 'facebook.php';

$facebook = new Facebook(array('appId' => $appId,'secret' => $appSecret));
$response = $facebook->api('/'.$profileId.'/feed?limit=1&access_token='.$access_token);

5) A parte da mensagem deve ser implantada: $response['data'][0]['message']

Eu não sei por quanto tempo o token de acesso é válido. Facebook diz:

Permite que o aplicativo para executar solicitações autorizadas em nome do usuário a qualquer momento. Por padrão, a maioria dos tokens de acesso expiram após um curto período de tempo para garantir que as aplicações só fazer pedidos em nome do usuário quando o estiver a utilizar o aplicativo. Esta permissão faz com que o acesso token retornado pelo nosso endpoint OAuth longa vida.

Aqui é uma função muito simples se você apenas deseja obter o status mais recente. Não dependem do Facebook SDK ou qualquer coisa. Você só precisa de suporte a CURL e JSON.

PHP Simples função para obter facebook estado

Eu nunca parecem se dar bem com a pera, mas se você tem mais sorte do que eu, então a solução PERA parece o melhor caminho a longo prazo.

Outra idéia é explorar a Facebook Developer API biblioteca e ver se isso pode dar-lhe qualquer coisa que você está procurando.

Por fim, costumava haver uma maneira de obter um feed RSS ... mas eu não consigo encontrar quaisquer instruções que o trabalho mais, mas você pode bisbilhotar Facebook ajuda se que os interesses que você. Mina acaba procurando algo parecido com isto:

http://www.new.facebook.com/feeds/status.php?id=[idnumber]&viewer=[viewer]&key=[key]&format=rss20

Eu tenho que trabalhar usando pós Jens' para recuperar uma access_token válido. Então, eu extraído as mensagens de status e o tempo de postagem do arquivo XML usando o seguinte código (você pode mudar $ limite para exibir mais ou mensagens de status menos, ou usar um formulário para mudá-lo).

Certifique-se de colocar em seu Facebook ID eo token de acesso que você tem a partir do aplicativo que você criou (veja Jens' pós ). Você pode verificar a saída desse script aqui .

Divirta-se!

<?php
if(isset($_POST['limit'])) {
    $limit = $_POST['limit'];
}
else {
    $limit = 3; // number of status messages to display
}
$f = fopen ("https://api.facebook.com/method/status.get?uid=YOUR_FACEBOOK_ID&limit=".$limit."&access_token=YOUR_ACCESS_TOKEN", "r");

while ($line= htmlentities(fgets($f))) {
    if ($line===FALSE) print ("FALSE\n");
    else
    {
        $content = $content." ".$line;
    }
}
fclose ($f);

$message = explode("&lt;message&gt;", $content); // search for the <message> tag
$message_cnt = count($message);
$msg_index = 0;

$time = explode("&lt;time&gt;", $content); // search for the <time> tag

for($i=1; $i<$message_cnt; $i++)
{
    $tmp = explode("&lt;/message&gt", $message[$i]);
    $msg[$msg_index] = $tmp[0]; // status message

    $tmp2 = explode("&lt;/time&gt", $time[$i]);
    $t[$msg_index++] = $tmp2[0]; // time of posting
}

for($i=0; $i<$msg_index; $i++)
{
     echo("<span class=\"status\">".preg_replace('!\015\012|\015|\012!','<br>',$msg[$i])."</span><br>\n
           <span class=\"date\">on ".date("d.m.Y", $t[$i])." at ".date("H:i",$t[$i])."</span><br><br>\n");

}
?>

Eu tentei um monte de tutoriais ao longo dos últimos dias e nenhum deles funcionou. Eu acho que pode ser devido ao facebook mudando seus requisitos API. Este é o único que eu encontrei que funciona no momento:

http://www.deanblog.co.uk/article/13/adding-a-facebook-status-feed-to-your-website-with-php

quadro Basta usar PHPforFB ( www.phpforfb.com/en/ ) para a maneira mais rápida.

Os olhares código como este:

require_once('phpforfb_framework.php');

$structInit = array('app_id' => APP_ID,'app_name' => APP_NAME,'sec_key' => APP_SECKEY);

$FacebookAPP = new PHPforFB($structInit);

if($FacebookAPP->lastErrorCode>0){
    //Creation failed => Display error message and exit
    echo "PHPforFB Error: ".$FacebookAPP->lastErrorCode." -> ".$FacebookAPP->lastError;
}else{
    //PHPforFB framework established

    if($FacebookAPP->userLoggedIn === TRUE){

        //If the user is logged in at Facebook:
        //Here you can determine if the user has at least once before
        //granted basic permissions to your application.
        if($FacebookAPP->userAuthenticated === FALSE){

            //The user has not yet granted permissions
            //**your code here**
        }else{
            //The user has already granted permissions, therefore his Facebook ID
            //is known to us. It is always available in $FacebookAPP->userID:

            $userID = $FacebookAPP->userID;
            //**your code here**
        }
    }
}
<?php
// see http://github.com/facebook/php-sdk/blob/master/facebook.php
require './facebook.php';
// Create our Application instance.
// see http://www.youtube.com/watch?v=jYqx-RtmkeU for how to get these numbers
$facebook = new Facebook(array('appId' => 'XXX','secret' => 'XXX'));
// This call will always work since we are fetching public data.
// this could be /username or /username/friends etc...
// see developer api for FQL for examples
$status = $facebook->api('/haanmc/feed?limit=1');
?>
<p><?php print $status['data'][0]['message']; ?></p>
<p>Likes: <?php print $status['data'][0]['likes']; ?> | Comments: <?php print count($status['data'][0]['comments']['data']); ?></p>
<textarea style="width: 95%; height: 600px;"><?php print_r($status); ?></textarea>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top