wake-up-neo.com

Facebook Graph API v3.1 Zugriffsbeschränkungen für Entwickler

Wie Sie wissen, hat Facebook seine API auf V3.1 aktualisiert und tötet alte APIs und Apps jetzt langsam. Daher müssen wir auf die neue API migrieren, wo sie eine schwere Entscheidung getroffen haben, die auf der SPAM-Site gut ist, aber auch für Entwickler schwierig ist.

Erinnerung: Graph API v2.7 wird am 05. Oktober 2018 nicht mehr unterstützt. Bitte verwenden Sie das API Upgrade Tool , um zu verstehen, wie sich dies auf Ihre App auswirken kann. Weitere Informationen finden Sie in changelog

Nun habe ich eine neue FB-App mit einigen Einstellungen erstellt, wie in den folgenden Screenshots gezeigt: Auf meinen eigenen Seiten posten - nicht Profil , sondern habe Fehler erhalten, die unten ebenfalls erwähnt werden.

 enter image description here

 enter image description here

 enter image description here

 enter image description here

 enter image description here

Und dann habe ich den folgenden Code verwendet, um auf meiner eigenen Seite, auf der ich Inhaber bin, von demselben Konto aus zu posten, auf dem ich diese Apps erstellt habe.

<?php
$page_access_token = 'GENERAL_ACCESS_TOKEN';
$page_id = 'OWN_PAGE_ID';
// From https://developers.facebook.com/tools/Explorer

$data['message'] = "Text_Message";
//$data['picture'] = "http://www.example.com/image.jpg";
//$data['link'] = "http://www.example.com/";
//$data['caption'] = "Caption";
//$data['description'] = "Description";

$data['access_token'] = $page_access_token;
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
echo $return;
curl_close($ch);
?>

Wenn ich jetzt den oberen Code ausführte, bekam ich den folgenden Fehler ...

{"error":{"message":"(#200) Requires either publish_to_groups permission and app being installed in the group, or manage_pages and publish_pages as an admin with sufficient administrative permission","type":"OAuthException","code":200,"fbtrace_id":"XXXXXXXXX"}}

Nun ist meine Frage, von wo aus ich meinen Apps diese Erlaubnis erteilen kann, da wo ich erlaubte, dass alle diese Namen (publish_to_groups, manage_pages und publish_pages etc) nicht angezeigt wurden, wie im obigen letzten Screenshot gezeigt.

Hinweis: Alles, was ich jetzt erstellt habe, und Code jetzt, daher brauche ich eine Lösung, die mit der neu veröffentlichten API 3.1 arbeitet.

AKTUALISIEREN:

Mein Freund sagte mir, ich solle alle Erlaubnis zulassen, damit mein Code funktioniert, wie in der Abbildung unten gezeigt. Ich kann diese Erlaubnis jedoch nicht in meinen Apps anzeigen. Ich brauche das alles. Wie bekomme ich sie?

 enter image description here

3
Muhammad Hassan

Es scheint mir, dass Sie ein Benutzerzugriffstoken verwenden. Um ein Seitenzugriffstoken zu erhalten, müssen Sie den Endpunkt anrufen:

https://graph.facebook.com/v3.1/{user-id or me}/accounts

um die Liste der Seiten und die Zugriffstoken für jede von ihnen zu erhalten.

Oder: 

https://graph.facebook.com/v3.1/{page-id}?fields=access_token

wenn Sie die Seite bereits kennen, auf der Sie posten möchten.

Wenn Sie ein Seitenzugriffstoken erhalten, können Sie den Endpunkt feed aufrufen.

Schauen Sie sich hier um: https://developers.facebook.com/docs/pages/access-tokens

1
DiClem

Ich habe viele Dinge ausprobiert und dann im Facebook Developers Guide gefunden, dass nach dem neuen Update niemand die unten aufgeführten Berechtigungen erhalten kann, wenn die Apps live geschaltet werden. Um alle diese Berechtigungen zu erhalten, nachdem Sie Ihre Apps live geschaltet haben, müssen Sie die Berechtigung zur Überprüfung beantragen. Andernfalls können Sie alle Berechtigungen im Entwicklungsmodus frei erhalten. Dies funktioniert jedoch nur für Sie.

 enter image description here

Wenn Sie wissen, dass Sie alle Berechtigungen für Ihre eigenen Zwecke in Ihren Apps erhalten können, können Sie dies auch ohne Überprüfung Ihrer Apps oder sonstiger Informationen erhalten. Unten sehen Sie eine allgemeine Einstellung einer Apps.

 enter image description here

Sie müssen nur Ihre Apps im Entwicklungsmodus deaktivieren, indem Sie den Live-Modus wie in den Abbildungen unten und oben gezeigt ausschalten.

 enter image description here

Gehen Sie danach einfach zu Graph API Explorer und klicken Sie auf die Schaltfläche "Get Token". Wählen Sie dann "Get User Access Token". Hier wird das Popup angezeigt, das Sie im ersten Screenshot dieser Antwort sehen können die gewünschten Bereiche und klicken Sie auf "Get Access Token". Es wird ein POPUP ausgelöst, bei dem es Ihre Erlaubnis benötigt, um es zuzulassen, und dann wird Ihnen das Zugriffstoken zurückgegeben. ( Sie können Ihr Zugriffstoken auf 60 Tage erweitern )

Hinweis: Dieses Token wird auf Ihrer Seite nur für Sie sichtbar, da Ihre Apps nicht live sind. Jede Aktivität, die von Ihren Apps ausgeführt wird, ist nur für Sie bestimmt.

1
Muhammad Hassan