wake-up-neo.com

Facebook PHP Ausnahme auslösen "(# 803) Einige der von Ihnen angeforderten Aliase sind nicht vorhanden"

Ich habe einen gültigen und authentifizierten Benutzer, aber beim Posten von unserer PHP Web-App an die Pinnwand wird Folgendes zurückgegeben:

Schwerwiegender Fehler: OAuthException nicht abgefangen: (# 803) Einige der von Ihnen angeforderten Aliase sind nicht vorhanden: xxxxxxxxxxxxx "," name ":" xxxxxxx

Ich habe 24 andere Benutzer, die ohne Probleme posten können. Und ich kann sehen, dass der Benutzer existiert, indem ich zu https://graph.facebook.com/xxxxxxxxxxxxx gehe.

Hier ist der Code:

    $fb_user_id = $row[0]; // loaded from DB
    $facebook_token = $row[1]; // loaded from DB

    $result = $facebook->api('/' . $fb_user_id. '/feed/',
                                'post',
                                array('access_token' => $facebook_token,
                                    'message' => $postMessage,
                                    'name' => 'Product name',
                                    'caption' => 'Accomplished!',
                                    'link' => 'http://www.xxxxxxx.com/',
                                    'description' => $postMessage,
                                    'picture' => 'http://www.xxxxxxx.com/images/productImage.png'));

Irgendwelche Ideen, warum die Facebook-API denkt, dass dieser Benutzer nicht existiert?

10
Chris Masterton

Ich hatte dieses Problem, später wurde mir klar, dass ich die UID in meiner Datenbank als integer speicherte. Neue Facebook-Profile haben jedoch sehr lange UIDs, wie z. B .: 100004409446248. Dies war kein Wert, den ich als integer in meiner MySQL-Datenbank speichern konnte Ich habe dies geändert, um es als varchar zu behandeln, also gibt es jetzt kein Problem

26
Daniel

Diese Frage Liste der Facebook-Freunde mit der neuesten API bekommen schlägt vor

$friends = $facebook->api('/me/friends');

1
0xAli

Ich habe zwei Bibliotheksroutinen geschrieben, um Integer-Querystringe zu erhalten. Ähnlich wie bei Dainel, wenn ich die Funktion intval() verwende, wird eine ungültige Facebook-ID angezeigt, die diesen Fehler verursacht.

Code:

function get_int($field) {
    $value = 0;
    if(isset($_GET[$field])) $value = intval($_GET[$field]);
    return $value;
}

Ich benutze die get_str für facebook_id und das Problem war weg.

function get_str($field) {
    $value = '';
    if(isset($_GET[$field])) $value = $_GET[$field];
    return $value;
}
0
anov