web-dev-qa-db-fra.com

Ajoutez un nom personnalisé, une légende, une image, une description à la nouvelle boîte de dialogue de partage facebook ou des histoires personnalisées ne les prenant pas de og meta

Je travaille juste sur un script de quiz. Je souhaite donc partager les résultats d'un quiz et non les métadonnées og.

Je sais qu'il est possible d'utiliser l'ancienne action de flux FB.ui. Ajoutez un nom, une légende, une description et un message personnalisés au partage d'une URL. Par exemple.:

    FB.ui({
    method: 'feed',
    href: url,
    name: name,
    caption: title,
    description: des,
    message: message,
    picture: img,
}, function(response){});

Cependant, je pense que cela va bientôt être obsolète?!

Est-ce possible aussi avec la nouvelle API de partage? Ou puis-je faire cela avec des histoires personnalisées? Comment? Je cherche quelque chose comme 

    FB.ui({
    method: 'share',
    href: url,
    name: name,
    caption: title,
    description: des,
    message: message,
    picture: img,
}, function(response){});

Mais ça ne marche pas:/ça ne prend que le href. Tout le reste est ignoré et non pré-rempli :(

Existe-t-il une meilleure pratique ou une façon recommandée par Facebook de le faire?

Documents API: https://developers.facebook.com/docs/sharing/reference/share-dialog

THX. J'apprécie vraiment votre aide

12
Manuel

Mise à jour du 27.06.2018. L'ancienne version du code ne fonctionnait plus correctement. L'image partagée était affichée sous forme de petite image à gauche, au lieu d'une grande image de colonne complète. Le correctif consiste à remplacer action_type: 'og.shares' par action_type: 'og.likes'.

Utilisez ce code:

    FB.ui({
    method: 'share_open_graph',
    action_type: 'og.likes',
    action_properties: JSON.stringify({
        object: {
            'og:url': url,
            'og:title': title,
            'og:description': des,
            'og:image': img
        }
    })
},
function (response) {
// Action after response
});

Ceci fonctionne avec l'API version 2.9+. Veuillez noter que l'utilisation de og.sharesaction_type n'est plus conseillée car elle n'est pas mentionnée dans la documentation du FB et n'affiche pas correctement la grande image. J'utilise maintenant og.likes. Le petit inconvénient est la phrase telle que "John Doe aime l’objet au drib" au sommet de la boîte de dialogue de partage et du contenu partagé sur le mur de l’utilisateur.

Pour un exemple de travail complet, checkout Modifiez dynamiquement les métadonnées de graphe avec Facebook ouvertes avec JavaScript .

10
DamirR

Je ne sais pas où ces paramètres sont documentés pour la boîte de dialogue Partager, mais je devinais, et ils fonctionnent tous. En guise d'astuce, modifiez le paramètre 'name' que vous utilisiez dans la méthode Feed en 'title'. Je partage de façon personnalisée à partir de plusieurs boutons de partage sur une seule page Web. Évidemment, remplacez toutes les variables "personnalisées ..." par vos propres variables ou "chaîne":

FB.ui({
        method: 'share',
        href: 'http://yourwebpage.com',
        picture: customImage,
        title: customTitle,
        description: customDescription,
        caption: customCaption

    }, function(response) {});
5
spacewindow

En fait, je devais créer une page pour chaque réponse possible et ajouter différents métas og à chaque réponse, mais vous pouvez utiliser des interpréteurs d'URL tels que code igniter pour générer l'URL et son contenu, puis créer une fonction permettant d'insérer des balises méta. dynamiquement. Cela fonctionne de la même manière qu'une API de service Web REEE dans laquelle l'URL n'est pas un emplacement du serveur, mais un appel à une fonction et à ses paramètres.

0
Jorge Rivera

En fait, cela fonctionne pour moi

            FB.ui({
                method: 'share',
                href: urlHost+link,
                // method: 'feed',
                title: name,
                link: urlHost+link,
                picture: urlHost+"/assets/images/fb.jpg",
                caption: "Interbank",
                description:description  
0
roll