Facebook Dialogfeld "Senden" API Error code: 100 ('link' ist ungültig)
Möchte ich den Benutzern die Möglichkeit zum senden von Geld an seine Facebook-Freunde über unsere app (Exvo) durch die übersendung einer URL auf die Einladungs-Seite, über Facebook.
Ich bin mit der 'Senden' Facebook-dialog (mit einem redirect auf die Facebook-Website). Die genaue url ich bin umleiten der Benutzer ist (to
Feld wurde berarbeitet):
Diese mir mit einem Facebook 'Senden' - dialog. Wenn ich geben Sie eine benutzerdefinierte Nachricht und drücken Sie "Senden", bin ich nun mit dem Fehler:
API Error Code: 100
API Error Description: Invalid parameter
Error Message: 'link' is invalid.
Den link param (extrahiert aus der oben genannten URL und decodiert) ist dieser:
https://www.exvo.com/invitations/9fb77bda665f0ae8f58843daec80a29b
ist eine gültige URL, die einen ordnungsgemäßen 200 Antwort. Mit dem Facebook-debugger kann ich sehen, dass die angegebene URL erzeugt keine Fehler:
Nur Warnungen über abgeleitete Eigenschaften (ich habe diese an einer Stelle auch, aber es hat nicht geholfen).
Beachten Sie auch, dass einmal in eine Weile (wie 1 in 10), wenn ich auf "Senden", die Nachricht kommt durch und ich sehe keine Fehler, das macht es noch merkwürdiger.
Warum ist dieser Fehler passiert? Was mache ich falsch?
Ich denke ich habe es gelöst, auf mein Ende - ich hatte eine URL wie deins: foo.com/path/to/code/id/6/rand/ab2e9c8dfb27385 ich würde Hinzugefügt, der rand Teil als cache-buster, und anscheinend ist es gar nicht, wie die wirklich lange ID-strings. Diese loszuwerden zu helfen schien, wie die Dinge funktionieren. Andere Dinge, die ich überprüft - das og. meta-tags pro der facebook debugger die URL ein, ich stellte sicher, es gab keine Umleitung geht. Und ich fügte die fehlenden Felder (Bild, Beschreibung, etc). Das waren nur "Warnungen", aber die Vollendung alles und verlieren die lange Schnur gab mir ein arbeiten auf "senden". Viel Glück!
InformationsquelleAutor Paweł Gościcki | 2013-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese vielleicht gar nicht das problem in deinem Fall aber nur für die Auffindbarkeit: stellen Sie sicher, dass die URL, die Sie teilen, ist öffentlich über das internet verfügbar (D. H. nicht innerhalb Ihrer firewall oder auf einem lokalen computer). FB muss besuchen Sie Ihre URL überprüfen Sie seine Authentizität.
dieser deutete mir an der richtigen Antwort. Ich hatte zu ändern https-zu-http-in meinem link, da ich noch nicht wirklich das setup https auf meine Webseite noch so facebook war wahrscheinlich nicht in der Lage, um es zu überprüfen.
doh! Ich bin mit localhost... ich bin kein kluger Mann >_<
InformationsquelleAutor jsoc
Wie mpcabd hat oben dargelegt, stellen Sie sicher, entfernen Sie alles mit fb, fbdev, facebook in der url, denn wenn ich es Tat, es löste das Problem für mich. Es ist wahrscheinlich ein Fehler oder eine Sicherheitsmaßnahme von Facebook. Sie sind immer erforderlich, um pass ein redirect_uri mit dem link und versuchen Sie es zu erwähnen, einen Titel als gut.
Auch Ihren link und die redirect_uri muss innerhalb Ihrer Domäne, der Sie zur Verfügung gestellt haben für die app. Ex: wenn die app-Domäne in den app-Einstellungen ist http://stackexchange.com, können Sie teilen sich ein link sagen wie https://stackoverflow.com/apps/php/fbsdk/etc/login.php, stattdessen teilen Sie den link http://stackexchange.com/apps/php/etc/login.php, die für mich gearbeitet hat
echo "<a href='https://www.facebook.com/dialog/send?app_id=YOUR_APP_ID&name=Thanks&link=".$linkToShare."&redirect_uri=".$linkToRedirectTo."'/>Send</a>";
Können Sie auch zuweisen
$title
etwas.InformationsquelleAutor Robot Boy
Dachte ich etwas seltsam, das gleiche passierte heute auf der Website, die ich verwalten, das problem schien zu sein, dass der link enthält das Wort facebook in ihm, und so versuchen, zu entfernen [facebook, fb, oder f, wenn es ein ganzes Wort] aus Ihrer url, es sollte funktionieren, ich hatte eine url wie
open/ID/facebook/
und der einzige Weg, es funktionierte, wenn ich es geändertfopen/ID/
das sieht dumm aus!So kann in Ihrem Fall ist dies das problem:
https://www.exvo.com/invitations/9
fb
77bda665f0ae8f58843daec80a29b
Versuchen, ändern Sie Ihre url etwas ohne fb oder facebook oder ähnliches.
InformationsquelleAutor mpcabd
Hatte ich dieses Problem mithilfe von das Dialogfeld "senden" nur. Ich war mit dynamischen querystring-Parameter, die auf einer gemeinsamen URL. Die gemeinsame URL wurde abgekratzt, die von Facebook aber jede iteration der gemeinsamen URL und die querystring-Parameter, würde dieser Fehler führen, wenn Facebook hatte nicht abgekratzt, die genaue URL zuvor.
Ich das Problem, indem zwingt Facebook zu kratzen, die URL vor ich versuchen, senden Sie es über die FB-Benutzeroberfläche Dialogfeld "Senden". Verwenden Sie die FB-API Treffer
graph.facebook.com
mit der URL gepostet in derid
parameter und einescrape
parametertrue
.Etwa so:
Ich auch beantwortet mit dieser Lösung für das gleiche problem hier.
InformationsquelleAutor Scott
Folgt fixiert es für mich:
token
(diese Zeichenfolge in derlink
param:9fb77bda665f0ae8f58843daec80a29b
, die war 32 Zeichen lang, ist jetzt auf 16), beraten durch gkimsalname
,description
undpicture_uri
params, ich war auch bei der Konstruktion das Dialogfeld "Senden" redirect uriNun Facebook, vor dem anzeigen das Dialogfeld "Senden", um den Benutzer, muss die fetch-meine Seite vorher, um die Daten abzurufen (aus OG:
title
,description
undimage
) nötig ist, um einen richtigen dialog an den Benutzer. Ich denke, das ist das, was am meisten dazu beigetragen mein Fall.InformationsquelleAutor Paweł Gościcki