PHP λειτουργία για να πάρει την κατάσταση Facebook;

ψήφοι
9

Ψάχνω για μια καλή, απλή λειτουργία PHP για να πάρει τελευταίες ενημερώσεις κατάστασης μου στο Facebook. Όποιος ξέρει από ένα;

Ευχαριστώ!

EDIT: Έχω προσθέσει κάτω από μισή λύση.

Ή αν κάποιος ξέρει ένας καλός τρόπος για να διαβάσει στην τροφή RSS και να φτύσει την πρόσφατη ενημέρωση κατάστασης;

Δημοσιεύθηκε 20/12/2008 στις 22:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


10 απαντήσεις

ψήφοι
6

Ένας γρήγορος έλεγχος για ΑΧΛΑΔΙ βρέθηκαν Services_Facebook

Απαντήθηκε 20/12/2008 στις 22:53
πηγή χρήστη

ψήφοι
1

Ποτέ δεν φαίνεται να πάρετε μαζί με αχλάδι, αλλά αν έχετε καλύτερη τύχη από ό, τι, τότε η λύση ΑΧΛΑΔΙ φαίνεται να είναι η καλύτερη διαδρομή μακροπρόθεσμα.

Μια άλλη ιδέα είναι να εξερευνήσετε το προγραμματιστών API Facebook βιβλιοθήκη και να δούμε αν αυτό θα μπορούσε να σας δώσει ό, τι ψάχνετε.

Τέλος, χρησιμοποιείται για να υπάρχει ένας τρόπος για να πάρετε ένα RSS feed ... αλλά δεν μπορώ να βρώ τις οδηγίες που λειτουργεί πια, αλλά μπορείτε να σακί γύρω Facebook βοήθεια αν αυτό σας ενδιαφέρει. Mine καταλήγει να ψάχνει κάτι σαν αυτό:

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

Απαντήθηκε 20/12/2008 στις 23:09
πηγή χρήστη

ψήφοι
3

Αυτή είναι μια ατελής απάντηση, αλλά αυτό είναι ό, τι έχω πάρει μέχρι τώρα:

Πρώτον: προσθέσετε την εφαρμογή του έργου στο FB . Στη συνέχεια, δημιουργήστε μια νέα εφαρμογή. Κλήση αυτό ό, τι θέλετε.

Δεύτερο: Κατεβάστε τον πελάτη PHP. Χωματερή κάπου στην υπηρεσία φιλοξενίας σας, δηλαδή / facebook /

Τρίτον: Αντιγράψτε τον ακόλουθο κώδικα αρχάριο να πάρει τον εαυτό σας που ξεκίνησε σε ένα αρχείο 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
 ?>

Άλλες πληροφορίες:

  • Θα πρέπει να είστε συνδεδεμένοι και να έχουν την εφαρμογή πρόσθεσε. Ή να σας δώσει τις άδειες offline_access αίτηση και έχουν την aapplication πρόσθεσε.
  • Μπορείτε να προσθέσετε offline_access πληκτρολογώντας στο παρακάτω url: http://www.facebook.com/authorize.php?api_key=YOUR_API_KEY&v=1.0&ext_perm=offline_access
  • περισσότερες πληροφορίες σχετικά με τα δικαιώματα βρείτε εδώ: http://wiki.developers.facebook.com/index.php/Extended_permissions
  • Είμαι σε ένα σημείο στάσης: τίποτα το πρόγραμμά μου ζητά η fql ερώτημα ή users_getInfo, σελίδα μου σταματάει την εκτέλεση της php; Υποθέτω ότι υπάρχουν ένα περιορισμένο ποσό των προσκλήσεων για νέες εφαρμογές; Δεν έχω κάνει καμία ανάπτυξη FB οπότε είμαι εντελώς νέο σε αυτό. Ίσως κάνει την κλήση και να αποθηκεύσετε την πρόσφατη ιδιότητά σας (ή το πιο πρόσφατο καταστάσεις) στη δική σας DB για να αποφευχθεί η υπερβολική κλήσεις στο API;

Ελπίζω ότι αυτό βοηθά κάποιον να ξεκινήσετε!

EDIT: Φαίνεται ότι η FB δεν θα σας αφήσει να έχετε πρόσβαση κάποιου σε κατάσταση, ακόμη και αν η offline_access είναι, αν δεν είναι το πρόσωπο ή φίλο τους (ανάλογα με τις ρυθμίσεις απορρήτου τους).

Έκανα όμως, τελικά καταφέρνουν να βρουν το RSS feed στην νέα έκδοση προφίλ: http://www.new.facebook.com/minifeed.php?filter=11

Απαντήθηκε 21/12/2008 στις 10:03
πηγή χρήστη

ψήφοι
0

Δεδομένου ότι δεν μπορούσε να χρησιμοποιήσει τη διαδρομή API, πήγα με το RSS βρέθηκαν σε: http://www.new.facebook.com/minifeed.php?filter=11

Και χρησιμοποίησε την ακόλουθη συνάρτηση της PHP, που ονομάζεται StatusPress , με κάποιες από τις δικές μου τροποποιήσεις, για να αναλύσει το RSS feed για την κατάστασή μου στο Facebook. Δουλευει τελεια!

Απαντήθηκε 04/01/2009 στις 20:35
πηγή χρήστη

ψήφοι
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>
Απαντήθηκε 23/04/2010 στις 16:29
πηγή χρήστη

ψήφοι
2

Έχω βρει έναν τρόπο για να φέρω πιο πρόσφατη κατάσταση facebook σας. Αυτό είναι το πώς μπορείτε να το κάνετε:

1) Δημιουργήστε μια εφαρμογή facebook , και να αντιγράψετε το μυστικό της αίτησής σας και την ταυτότητα εφαρμογή.

2) Επιχορήγηση την read_stream εφαρμογή και offline_access στο προφίλ σας. ( Http://developers.facebook.com/docs/authentication/permissions ) να φέρω πιο πρόσφατη ιδιότητά σας η εφαρμογή χρειάζεται μια access_token. Με offline_access χορηγηθεί η access_token πρέπει «ποτέ» λήξει. Ο ευκολότερος τρόπος να γίνει αυτό είναι να κάνετε κλικ στο κουμπί που παράγεται από αυτόν τον κώδικα: (φροντίστε να συμπληρώσετε 'εφαρμογή id σας και να ορίσετε cookie για να είναι αληθινό!)

<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) Τώρα προσπαθήστε να μάθετε τι access_token που χρησιμοποιεί. Η access_token αποθηκεύεται στο cookie fbs_appId. Εντοπίστε την χρήση του προγράμματος περιήγησης σας ή με τη χρήση $_COOKIE['fbs_appId']. Αναζητήστε access_token=....

4) Τώρα που έχετε ένα (ελπίζουμε) ποτέ δεν λήγει 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) Το τμήμα του μηνύματος θα πρέπει να βρίσκεται: $response['data'][0]['message']

Δεν ξέρω πόσο καιρό το διακριτικό πρόσβασης είναι έγκυρη. Facebook λέει:

Επιτρέπει την αίτησή σας για την εκτέλεση εξουσιοδοτημένο αιτήματα για λογαριασμό του χρήστη ανά πάσα στιγμή. Από προεπιλογή, οι περισσότερες μάρκες πρόσβασης λήγουν μετά από ένα σύντομο χρονικό διάστημα για να εξασφαλίσει εφαρμογές κάνουν μόνο τα αιτήματα για λογαριασμό του χρήστη, όταν το χρησιμοποιούν ενεργά την εφαρμογή. Αυτή η άδεια κάνει το διακριτικό πρόσβασης που επιστρέφεται από το OAuth τελικό σημείο μας μακρόβια.

Απαντήθηκε 27/04/2010 στις 09:56
πηγή χρήστη

ψήφοι
1

Πήρα αυτό που εργάζονται χρήση μετά Jens' για να ανακτήσει μια έγκυρη access_token. Στη συνέχεια, θα εξάγονται τα μηνύματα κατάστασης και το χρόνο της απόσπασης από το αρχείο XML χρησιμοποιώντας τον παρακάτω κωδικό (μπορείτε να αλλάξετε $ όριο για να εμφανιστεί περισσότερο ή λιγότερο μηνύματα κατάστασης, ή να χρησιμοποιήσετε μια φόρμα για να το αλλάξετε).

Να είστε βέβαιος να βάλει το Facebook ID σας και η πρόσβαση token που πήρατε από την εφαρμογή που δημιούργησε (βλ μετά Jens' ). Μπορείτε να ελέγξετε το αποτέλεσμα αυτού του σεναρίου εδώ .

Καλα να περνατε!

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

}
?>
Απαντήθηκε 01/09/2010 στις 22:02
πηγή χρήστη

ψήφοι
2

Εδώ είναι μια πραγματικά απλή λειτουργία αν απλά θέλετε να πάρετε την πιο πρόσφατη κατάσταση. Αυτό δεν εξαρτάται από το Facebook SDK ή οτιδήποτε άλλο. Απλά πρέπει CURL και JSON υποστήριξη.

Απλή λειτουργία PHP για να πάρει την κατάσταση facebook

Απαντήθηκε 09/11/2010 στις 21:57
πηγή χρήστη

ψήφοι
1

Έχω δοκιμάσει ένα σωρό μαθήματα κατά τη διάρκεια των τελευταίων ημερών και κανένας από αυτούς δεν έχουν εργαστεί. Νομίζω ότι μπορεί να οφείλεται σε facebook μεταβαλλόμενες απαιτήσεις api τους. Αυτό είναι το μόνο που βρήκα που λειτουργεί αυτή τη στιγμή:

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

Απαντήθηκε 16/06/2011 στις 13:19
πηγή χρήστη

ψήφοι
1

Απλά χρησιμοποιήστε πλαίσιο PHPforFB ( www.phpforfb.com/en/ ) για τον ταχύτερο τρόπο.

Ο κώδικας μοιάζει με αυτό:

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**
        }
    }
}
Απαντήθηκε 20/02/2012 στις 20:10
πηγή χρήστη

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