web-dev-qa-db-fra.com

facebook send API Code d'erreur: 100 API Description de l'erreur: Paramètre non valide Message d'erreur: 'lien' invalide

J'utilise facebook post GRAPH UI pour poster un message privé avec un lien vers ma candidature sur facebook. Plus tôt, cela fonctionnait bien, mais depuis deux jours, la boîte de dialogue a commencé à générer une erreur en tant que:

Une erreur est survenue. Veuillez réessayer plus tard.

Code d'erreur de l'API: 100
Description de l'erreur de l'API: paramètre non valide
Message d'erreur: 'link' n'est pas valide.

pour l'envoi du message, j'utilise le code: 

function sendMessage(id) {
  FB.ui({
    method : 'send',
    name : 'My APP',
    link : 'https://apps.facebook.com/MY_APP/',
    to : id,
    show_error : 'true',
    description : 'my description'
  });
}

J'ai googlé à ce sujet et la seule information pertinente que je reçois est que facebook bloque le lien vers son propre domaine afin d'éviter le spam. Lorsque je change de lien vers un autre site actif.

Je dois envoyer un lien vers ma candidature car je dois fournir une telle fonctionnalité.

10
Priyank Gupta

Trouvé une solution:

Code d’erreur de la boîte de dialogue d’envoi Facebook: 100 API Description de l'erreur: Paramètre non valide Message d'erreur: ‘link’ non valide.


Cause du problème:

Facebook n'autorise pas l'utilisation de son propre lien pour arrêter le spam.

Problème Solution:

Il n'y a pas de solution en tant que telle, à l'exception de l'API Facebook.

Autre entraînement:

Raccourcissez l'URL, mais cela ne fonctionne pas car Facebook vérifie l'URL fournie. URL de redirection, comme ci-dessus. Dans mon cas, j'ai déployé une page HTML supplémentaire, que je viens d'utiliser pour rediriger vers Facebook. Lien App. Rappelez-vous simplement que vous devez disposer d'un minuteur pendant quelques secondes, car Facebook analyse l'URL fournie, de sorte qu'il ne puisse pas détecter que la page est redirigée vers le même lien d'application. utilisé le code suivant pour mon fichier HTML:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Application</title>
</head>
<body>
    <p id="demo"></p>
</body>
<script type="text/javascript">
    var url = "https://apps.facebook.com/MY_APPLICATION_ID";
    var myVar = setInterval(function() {
        myTimer()
    }, 1000);
    var counter = 3;
    function myTimer() {
        if (counter == 0) {
            window.location.replace(url);
            window.clearInterval(myVar);
        }
        document.getElementById("demo").innerHTML = "you will be redirected in "
                + counter + " seconds...";
        counter = counter - 1;
    }
</script>
</html>
3
Ishank Gupta

J'ai eu des problèmes similaires et je me suis dit que je partagerais les résultats de mon enquête ici.

Les seules informations dans la documentation de Facebook décrivant le paramètre link ne sont pas très utiles:

link -L'URL envoyée dans le message.

Il y a quelques autres questions StackOverflow similaires/liées à celle-ci:

Erreur API Facebook 100 - lien non valide

ce problème a fini par être un paramètre picture malformé

Facebook FB.ui envoyer dialogue renvoie par intermittence erreur de lien non valide -

"Le problème était lié au fait que notre URL était dynamique et nécessitait la mise en cache forcée à chaque fois. Je passe maintenant un appel ajax à" https://developers.facebook.com/tools/debug/og/object "pour l'actualiser et puis lancez la boîte de dialogue d'envoi. "

Je ne sais toujours pas avec précision ce qui constitue un paramètre link valide, mais ...

Faire des déductions à partir des questions et réponses ci-dessus, ainsi que des tests de ma part, sur les paramètres link valides:

  • Doit être "pleinement qualifié". C'EST À DIRE. contenant http:// ou https://
  • Doit pas être des liens facebook.com
  • Peut ne pas aimer les redirections (ou vous devez être sournois avec eux)
  • Do URL de prise en charge non répertoriées dans la liste "Domaines d'application"
  • Do prend en charge les chaînes de requête
  • Peut être difficile en ce qui concerne les pages générées dynamiquement (comme dans cette question )

Apparemment, Facebook dispose d'une sorte de mécanisme d'analyse de lien qui effectue des tests inconnus sur un paramètre link afin de déterminer sa validité. Je souhaite seulement qu'ils choisissent de le documenter pour nous.

6
Zach Lysobey

J'ai eu exactement le même problème, sauf que mon lien pointait vers mon site Web.

Si quelqu'un se trouve dans un scénario similaire, veuillez vérifier sur cette solution . J'espère que cela aidera certaines personnes.

0
glautrou