it-swarm.com.de

Fügen Sie benutzerdefinierten Namen, Bildunterschriften, Bilder und Beschreibungen zum neuen Facebook-Freigabedialogfeld oder benutzerdefinierten Storys hinzu, die nicht aus og Meta stammen

Ich arbeite gerade an einem Quiz-Skript. Daher möchte ich die Ergebnisse eines Quiz und nicht die og Metadaten teilen.

Ich weiß, dass es möglich ist, die alte FB.ui-Feed-Aktion zu verwenden. Sie können einen benutzerdefinierten Namen, eine Beschriftung, eine Beschreibung und eine Nachricht hinzufügen, als eine URL zu teilen. Z.B.:

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

Ich denke jedoch, dass dies bald veraltet sein wird ?!

Ist das auch mit der neuen share api möglich? Oder kann ich das mit benutzerdefinierten Geschichten machen? Wie? Ich suche etwas wie 

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

Das funktioniert aber nicht:/es braucht nur die href. Alles andere wird ignoriert und nicht vorab gefüllt :(

Gibt es Best Practices oder eine von Facebook empfohlene Methode, um dies zu tun?

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

Vielen Dank. Ich schätze deine Hilfe sehr

12
Manuel

Update am 27.06.2018. Alte Version des Codes funktioniert nicht mehr ordnungsgemäß. Das freigegebene Bild wurde links als kleines Bild dargestellt und nicht als großes vollständiges Spaltenbild. Das Update besteht darin, action_type: 'og.shares' durch action_type: 'og.likes' zu ersetzen.

Verwenden Sie diesen 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
});

Dies funktioniert mit API-Version 2.9+ . Bitte beachten Sie, dass die Verwendung von og.sharesaction_type nicht mehr empfohlen wird, da dies in der FB-Dokumentation nicht erwähnt wird und das große Bild nicht richtig angezeigt wird. Ich benutze jetzt og.likes. Der kleine Nachteil ist der Satz wie "John Doe gefällt das Objekt auf drib" am oberen Rand des Freigabedialogfelds und freigegebener Inhalt auf der Benutzerwand.

Für ein voll funktionierendes Beispiel checkout Ändern Sie dynamisch geöffnete Metadaten von Facebook-Graphen mit JavaScript .

10
DamirR

Ich habe keine Ahnung, wo diese Parameter für den Freigabedialog dokumentiert sind, aber ich hatte eine Vermutung, und diese funktionieren alle. Ändern Sie als Tipp den Parameter 'name', den Sie in der Feed-Methode verwendet haben, in 'title'. Ich kann benutzerdefinierte Freigaben über mehrere Freigabeknöpfe auf einer einzelnen Webseite vornehmen. Ersetzen Sie natürlich alle 'custom ...' - Variablen durch Ihre eigenen Variablen oder 'string':

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

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

Ich musste eigentlich für jede mögliche Antwort eine Seite erstellen und fügte jeder Antwort unterschiedliche og Metas hinzu, aber Sie könnten einige URL-Interpreter wie code igniter verwenden, um URLs und deren Inhalt zu generieren, und dann einfach eine Funktion zum Einfügen von Meta-Tags erstellen dynamisch. Dies funktioniert ähnlich wie bei einer RESP-Webdienst-API, bei der es sich bei der URL nicht um einen Ort auf dem Server handelt, sondern um einen Aufruf einer Funktion und ihrer Parameter.

0
Jorge Rivera

Eigentlich arbeitet das für mich

            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