Facebook Envoyer dialogue avec l'API code d'Erreur: 100 ('link' est pas valide)
Je veux offrir aux utilisateurs la possibilité d'envoyer de l'argent à leur Facebook amis par le biais de notre application (Exvo) par le biais de l'envoi d'une URL vers la page d'invitation via Facebook.
Je suis sur "Envoyer" Facebook dialogue (avec une redirection vers le Facebook site web). L'url exacte je suis rediriger l'utilisateur vers est (to
champ a été expurgée):
Cela me présenter avec un Facebook "Envoyer" boîte de dialogue. Lorsque je tape un message personnalisé et appuyez sur "Envoyer", je me suis présenté avec cette erreur:
API Error Code: 100
API Error Description: Invalid parameter
Error Message: 'link' is invalid.
Le lien param (extrait de l'URL ci-dessus et de le décoder) est-ce:
https://www.exvo.com/invitations/9fb77bda665f0ae8f58843daec80a29b
qui est une URL valide, de retour d'une bonne réponse de 200. À l'aide de l'Facebook débogueur je peux voir que l'URL ne pas générer d'erreur:
Seulement des avertissements à propos de déduire les propriétés (j'ai ajouté ceux à un point que bien, mais il n'a pas aidé).
Est aussi à noter que de temps en temps (1 à 10), lorsque je clique sur "Envoyer", le message est bien arrivé et je ne vois pas d'erreurs, ce qui rend encore plus bizarre.
Pourquoi c'est cette erreur qui se passe? Ce que je fais mal?
- Je vais avoir le même problème - j'ai pensé que peut-être le problème, c'est que mes liens qu'ils allaient revenir à la toile même URL qu'ils étaient en train d'être posté, mais l'évolution qui ne semble pas faire une différence. Les choses travaillé pendant un peu plus tôt aujourd'hui, mais la dernière heure ont été cassés (je ne peux même pas faire un lien yahoo.com, par exemple). Je soupçonne que ce n'est peut-être " un peu de code est cassée et personne ne sait ou se soucie tout autant que. :/
- Je pense que j'ai réussi à le résoudre sur ma fin, j'ai eu une URL comme la vôtre: foo.com/path/to/code/id/6/rand/ab2e9c8dfb27385 j'avais ajouté le rand partie à agir comme un cache buster, et apparemment, ce n'est pas comme ces très longues chaînes d'identification. Se débarrasser de ceux qui semblaient l'aide, que les choses fonctionnent. D'autres choses que j'ai vérifié - l'og. meta tags par l'facebook débogueur - l'URL de l'un, j'ai fait sûr qu'il n'y a pas de redirection en cours. Et j'ai ajouté les champs manquants (image, description, etc). Ce ne sont que des messages d'avertissement, mais la fin de toutes et de perdre le long de la chaîne m'a donné un travail "envoyer". Bonne chance!
Vous devez vous connecter pour publier un commentaire.
Ce n'aurait pas été le problème dans votre cas, mais seulement pour l'identification de l': assurez-vous que l'URL que vous le partage est accessible au public sur internet (c'est à dire pas à l'intérieur de votre pare-feu ou sur un ordinateur local). FB doit visitez votre URL pour vérifier son authenticité.
Comme mpcabd l'a souligné ci-dessus, assurez-vous de supprimer quoi que ce soit avec fb, fbdev, facebook dans l'url parce que quand je l'ai fait, il a résolu le problème pour moi. C'est probablement un bug ou d'une mesure de sécurité de Facebook. Vous êtes toujours tenu de passer un redirect_uri avec le lien et essayez de mentionner un titre ainsi.
Également votre lien et redirect_uri doit être dans votre domaine que vous avez fourni pour l'application. Ex: si votre domaine d'application dans les paramètres de l'application est http://stackexchange.com, vous ne pouvez pas partager un lien comme dire https://stackoverflow.com/apps/php/fbsdk/etc/login.php, au lieu que vous avez à partager le lien http://stackexchange.com/apps/php/etc/login.php qui a fonctionné pour moi
echo "<a href='https://www.facebook.com/dialog/send?app_id=YOUR_APP_ID&name=Thanks&link=".$linkToShare."&redirect_uri=".$linkToRedirectTo."'/>Send</a>";
Vous pouvez également affecter des
$title
à quelque chose.J'ai compris quelque chose de bizarre, c'est la même chose aujourd'hui sur le site, je gère, le problème semble être que le lien contient le mot facebook, alors essayez de supprimer [facebook, fb, ou f si c'était un mot entier] à partir de votre url, il devrait fonctionner, j'ai eu une url comme
open/ID/facebook/
et la seule façon dont il a travaillé quand je l'ai changé pourfopen/ID/
qui semble stupide!Donc peut-être dans votre cas c'est le problème:
https://www.exvo.com/invitations/9
fb
77bda665f0ae8f58843daec80a29b
Essayez de changer votre url à quelque chose sans fb ou facebook ou quelque chose de similaire.
J'ai eu ce problème à l'aide de la boite de dialogue d'envoi seulement. J'ai été à l'aide de dynamic querystring les paramètres dans une URL commune. La commune de l'adresse URL a été gratté par Facebook, mais chaque itération de la commune URL et les paramètres de chaîne de requête serait à l'origine de cette erreur si Facebook n'avait pas gratté que l'URL exacte précédemment.
J'ai résolu le problème en forçant Facebook pour gratter l'URL avant je tente de l'envoyer via le FB de l'INTERFACE utilisateur d'Envoyer la boîte de Dialogue. Utiliser l'API FB pour frapper
graph.facebook.com
avec l'URL affichée dans laid
paramètre et unscrape
paramètretrue
.Comme suit:
J'ai aussi répondu à cette solution au même problème ici.
Procédant de la manière suivante résolu pour moi:
token
(cette chaîne dans lelink
param:9fb77bda665f0ae8f58843daec80a29b
, qui était de 32 caractères de long, est maintenant à 16) comme conseillé par gkimsalname
,description
etpicture_uri
params que j'ai été y compris lors de la construction de la boite d'envoi redirect uriMaintenant Facebook, avant d'afficher la boite de dialogue d'envoi à l'utilisateur, doit aller chercher ma page à l'avance pour récupérer les données (à partir de l'OG:
title
,description
etimage
) requis pour afficher une boîte de dialogue appropriée pour l'utilisateur. Je pense que c'est ce qui m'a le plus aidée dans mon cas.