Ich habe eine Liste von FB-IDs. Gibt es eine kanonische Möglichkeit, ihre FB-URL ohne Diagrammabfrage zu erstellen?
Zum Beispiel habe ich die IDs 3, 4, 5 und ich möchte die Facebook-URL für sie, ohne die Grafik-API zu verwenden und sie zu speichern
Ich habe eine Liste von FB-IDs. Gibt es eine kanonische Möglichkeit, ihre FB-URL ohne Diagrammabfrage zu erstellen?
Zum Beispiel habe ich die IDs 3, 4, 5 und ich möchte die Facebook-URL für sie, ohne die Grafik-API zu verwenden und sie zu speichern
Antworten:
UPDATE 2: Diese Informationen werden von Facebook nicht mehr zur Verfügung gestellt. Es gibt eine offizielle Ankündigung für die Verhaltensänderung ( https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/ ), aber keine für ihre Alternative.
Ja, verwenden Sie einfach diesen Link und hängen Sie Ihre ID an den idParameter an:
https://facebook.com/profile.php?id=<UID>
Also zum Beispiel:
https://facebook.com/profile.php?id=4
Leitet Sie automatisch zu https://www.facebook.com/zuckWelches ist Zucker Zucker Profil.
Wenn Sie dies für alle Ihre IDs tun möchten, können Sie dies mithilfe einer Schleife tun.
Wenn Sie möchten, kann ich Ihnen einen Ausschnitt zur Verfügung stellen.
UPDATE: Alternativ können Sie auch Folgendes tun:
https://facebook.com/<UID>
Das wäre also: https://facebook.com/4, die automatisch zu Zuck umleiten würde!
https://facebook.com/<UID>Wenn Sie dies verwenden, wird ich immer wieder auf meine Homepage weitergeleitet
Akzeptierte Antwort hat bei mir nicht funktioniert, das tut:
https://www.facebook.com/app_scoped_user_id/10152384781676191
Der einfachste und korrekteste (und legalste) Weg ist die Verwendung der Grafik-API.
Führen Sie einfach die Anfrage aus: http://graph.facebook.com/4
was zurückkehrt
{
"id": "4",
"name": "Mark Zuckerberg",
"first_name": "Mark",
"last_name": "Zuckerberg",
"link": "http://www.facebook.com/zuck",
"username": "zuck",
"gender": "male",
"locale": "en_US"
}
und nimm den linkSchlüssel.
Sie können den Datenverkehr auch reduzieren, indem Sie den fieldsParameter http://graph.facebook.com/4?fields=link verwenden , um nur das zu erhalten, was Sie benötigen:
{
"link": "http://www.facebook.com/zuck",
"id": "4"
}
access_tokenund https. Beispiel:https://graph.facebook.com/4?access_token=YOUR_YOKEN
fields=linkOn-URL-Abfrage hinzufügenhttps://graph.facebook.com/<ID>?fields=link&access_token=<ACCESS_TOKEN>
Ab sofort (NOV-2019) ist graph.api V5.0
Grafik-API sagt, siehe Grafik-API
Ein Link zur Zeitleiste der Person. Der Link wird nur aufgelöst, wenn die Person, die auf den Link klickt, bei Facebook angemeldet ist und ein Freund der Person ist, deren Profil angezeigt wird.
Die markierte Antwort scheint veraltet zu sein und wird nicht funktionieren.
Facebook gibt jetzt nur eine eindeutige ID für die App an, die nicht der Benutzer-ID entspricht, und profileUrl und der Benutzername werden leer angezeigt.
Dies me?fields=id,name,linkswird auch nach Graph Version 2.4 abgeschrieben
Die einzige Möglichkeit besteht jetzt darin, die Erlaubnis user_links von Ihrer Entwicklerkonsole anzufordern.
und das Pass it in Scope bei der Facebook-Anmeldung
scope: ['user_link'] }
oder durch einen API-Anruf
Ich habe zusammen Informationen gesammelt:
user_link, siehe https://developers.facebook.com/docs/facebook-login/permissions/link(z. B. https://graph.facebook.com/me?fields=link,name,email )linkvon Antwort. Beachten Sie Feld längs- in meinem Fall ist es 202: https://www.facebook.com/app_scoped_user_id/YXNpZADpBWEd0SlhFZAElYa3BQT3U3Tm4xWVRLSlJfYUdUM3Y4YmIwQjBaRkM0VDBMNURQdUhhYk5NRDJoR1ZA5ZA1JOdGNwampsSTQyMDQwbW93bkp0dnZAmOXg3NTFISFVZAQlRscWQ5eEZAvcU4xZAC1B/Und schließlich: Ohne zusätzliche Facebook-Berechtigungsprüfung funktioniert es nicht :(