PHP Facebook durumunu almak için işlev?

oy
9

Ben en son Facebook durum güncellemelerini almak için iyi, basit bir PHP fonksiyonu arıyorum. Herkes birini biliyor musun?

Teşekkürler!

DÜZENLEME: Aşağıda yarım çözüm ekledik.

Ya kimse RSS beslemesi okumak ve son durum güncellemesini tükürmek için iyi bir yol biliyorsa?

Oluştur 20/12/2008 saat 22:44
kaynak kullanıcı
Diğer dillerde...                            


10 cevaplar

oy
6

Hızlı bir kontrol PEAR'a bulundu Services_Facebook

Cevap 20/12/2008 saat 22:53
kaynak kullanıcı

oy
1

Ben PEAR'a iyi geçinmeye gibi asla ama benden daha iyi şans varsa, o zaman ARMUT çözüm en iyi yol uzun vadeli görünüyor.

Başka bir fikir keşfetmek için Facebook Geliştirici API'si kütüphane ve o size aradığınız şey verebilir bakın.

Son olarak, orada bir RSS beslemesi almak için bir yol olarak kullanılan ... ama artık işe talimatları bulmak için görünmüyor olabilir, ama bu sizi ilgilendiren eğer Facebook yardımı etrafında kurcalamak olabilir. Mine aşağıdaki gibi görünen biter:

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

Cevap 20/12/2008 saat 23:09
kaynak kullanıcı

oy
3

Bu eksik bir cevaptır, ama bu şimdiye kadar bize şudur:

Birincisi: FB geliştirici uygulama eklemek . Ardından yeni bir uygulama oluşturmak. Ne istersen diyelim.

İkincisi: PHP indir müşteri. Hostunuz üzerinde bir yere dökümü, yani / facebook /

Üçüncüsü: Kendine bir php dosyasına başlamak için aşağıdaki acemi kodu kopyalayın:

 <?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
 ?>

Diğer bilgi:

  • Giriş edilmeli ve uygulama ekledik. YA uygulama offline_access izinlerini vermek ve içinuygulama eklendi vardır.
  • : Aşağıdaki url yazarak offline_access ekleyebilir http://www.facebook.com/authorize.php?api_key=YOUR_API_KEY&v=1.0&ext_perm=offline_access
  • İzinler hakkında daha fazla bilgi burada bulunabilir: http://wiki.developers.facebook.com/index.php/Extended_permissions
  • Bir durma noktasında değilim: şey benim program fql sorgu veya users_getInfo çağırır sayfam php yürütme durur? Ben yeni uygulamalar için aramaların sınırlı bir miktarda vardır tahmin ediyorum? Ben buna tamamen yeni olduğum yüzden herhangi FB gelişimini hiç yapmadım. Belki arama yapmak ve API aşırı aramaları engellemek için kendi DB yakın zamandaki durumunu (veya en son durumları) kaydetmek?

Bu birileri Başlamak yardımcı olur umarım!

DÜZENLEME: Bu FB (gizlilik ayarlarına bağlı olarak) o kişinin ya da arkadaşı olmadığınız sürece, offline_access açık olsa bile, birilerinin durumunu erişmesine izin vermez gibi görünüyor.

: Ben ancak, nihayet yeni profil sürümünde RSS beslemesi bulmak için yönetmek http://www.new.facebook.com/minifeed.php?filter=11

Cevap 21/12/2008 saat 10:03
kaynak kullanıcı

oy
0

: API rotayı kullanamadı beri, bulunan RSS ile gitti http://www.new.facebook.com/minifeed.php?filter=11

Ve aşağıdaki PHP işlevi, kullanılan StatusPress denilen benim Facebook statüsüne RSS beslemesi ayrıştırmak, kendi modifikasyonlar bazılarıyla. İnşaat büyük!

Cevap 04/01/2009 saat 20:35
kaynak kullanıcı

oy
0
<?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>
Cevap 23/04/2010 saat 16:29
kaynak kullanıcı

oy
2

Ben en son facebook getirme durumu için bir yol bulduk. Bu böyle yaparız:

1) Bir facebook uygulaması oluşturma ve uygulama sırrı ve uygulama kimliği kopyalayın.

2) profilinize uygulama read_stream ve offline_access verin. ( Http://developers.facebook.com/docs/authentication/permissions ) Uygulamanın, bir access_token ihtiyacı en son getirme durumu için. Offline_access ile ACCESS_TOKEN sona "hiçbir zaman" olmalıdır verilmiş. Bunu yapmanın en kolay yolu, bu kod tarafından oluşturulan butonuna tıklayın etmektir: ( 'uygulama kimliği' ve gerçek olarak ayarlanmış çerezindeki doldurmak için emin olun!)

<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) Şimdi hangisini kullandığına bunun ACCESS_TOKEN bulmaya çalış. ACCESS_TOKEN fbs_appId çerezinde kaydedilir. O tarayıcınızı kullanarak veya kullanmadan bulun $_COOKIE['fbs_appId']. Arayın access_token=....

4) Şimdi bir (umarım) asla süresi dolan olduğunu aşağıdaki kodu kullanabilirsiniz ACCESS_TOKEN:

$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) mesajı parçası yer olmalıdır: $response['data'][0]['message']

Ben erişim belirteci geçerlidir NASIL süreceğini bilmiyoruz. Facebook diyor ki:

Herhangi bir zamanda kullanıcı adına yetkili istekleri gerçekleştirmek için uygulama sağlar. Varsayılan olarak, çoğu erişim belirteçleri aktif uygulamayı kullanırken uygulamalar sadece kullanıcı adına istekte sağlamak için kısa bir süre sonra sona erer. Bu izin, uzun ömürlü bizim OAuth bitiş noktası tarafından döndürülen erişim belirteci yapar.

Cevap 27/04/2010 saat 09:56
kaynak kullanıcı

oy
1

Bunun geçerli bir access_token almak için Jens' yazısı kullanarak çalışma var. Sonra, ben durum mesajları ve aşağıdaki kodu kullanarak xml dosyasından gönderme zamanını çıkarılan (eğer $ sınırı aşağı yukarı durum mesajlarını görüntülemek için değiştirmek veya değiştirmek için bir form kullanabilirsiniz).

Facebook ID koymak için emin olun ve erişimi (bkz oluşturduğunuz uygulamasından var belirteç Jens' yazı ). Bu komut çıktısını kontrol edebilirsiniz burada .

İyi eğlenceler!

<?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");

}
?>
Cevap 01/09/2010 saat 22:02
kaynak kullanıcı

oy
2

Sadece son durumu almak istiyorsanız Burada bir GERÇEKTEN basit işlevdir. Bu Facebook'tan SDK ya da bir şey bağlı değildir. Sadece CURL ve JSON desteği gerekiyor.

Basit bir PHP fonksiyonu facebook durumunu almak için

Cevap 09/11/2010 saat 21:57
kaynak kullanıcı

oy
1

Ben son birkaç gün içinde öğreticiler bir sürü denedim ve bunların hiçbiri çalıştık. Ben onların API gereksinimleri değişen facebook nedeniyle olabilir düşünüyorum. Bu anda çalışır buldum sadece biri:

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

Cevap 16/06/2011 saat 13:19
kaynak kullanıcı

oy
1

Sadece PHPforFB çerçevesini (kullanmak www.phpforfb.com/en/ en hızlı yol için).

Kod şöyle görünür:

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**
        }
    }
}
Cevap 20/02/2012 saat 20:10
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more