2016-07-31 38 views
1

Ich benutze meine Blogger als SPA-Website. Und Benutzer können Beiträge auf Facebook teilen. Jeder Beitrag ist identisch mit? Id = {posts_id} in der Anfrage-URL, Die {post_id} werden von Javascript geparst und finden die Beiträge aus JSON-Daten.Blogger zeigen aktuelle vollständige URL in Metatags

Aber Facebook teilen Crawler ist nicht die Unterstützung für SPA-Sites, ihre og: Tags zu lesen. Also, wir müssen verwenden, um Facebook Crawler zu machen, um og: Tags von einer anderen URL zu lesen.

Ich habe viele Möglichkeiten versucht, Blogger-Antwort HTML mit der href = "" enthält vollständig angeforderte URL zu machen.

Dies ist mein Versuch: Die vollständige URL lautet: www.abc.com/2016/07/31.html?id=1

<link expr:href='data:blog.url' rel='opengraph'/> 
Will generate with HTML 
    <link href='www.abc.com/2016/07/31.html' rel='opengraph'/> 

Gibt es eine Möglichkeit Blogger zu machen zeigen vollständige URL gebeten HTML-Antwortcode?

Dank für das Voraus

Antwort

0

Wenn Sie die neuen Themen von Blogger (Siehe this) freigesetzt werden, verwendet wird. Dann können Sie den folgenden Code verwenden, um zu erreichen, was Sie benötigen -

<b:if cond='data:view.isPost'> 
    <link expr:href='data:blog.url + "?id=" + data:view.postId' rel='opengraph'/> 
</b:if> 

Dies wird die URL der Form erzeugen -

www.abc.com/2016/07/post-title.html?id=PostID 

Die PostID wird die eindeutige ID, die Blogger zu jedem Beitrag zuweist. Dies wird nur auf den Post-Seiten angezeigt.

Für diese Arbeit auf statischen Seiten, platzieren Sie den folgenden Code als auch zur Vorlage hinzufügen -

<b:if cond='data:view.isPage'> 
    <link expr:href='data:blog.url + "?id=" + data:view.pageId' rel='opengraph'/> 
</b:if> 

Um durch die Nutzung der Seiten-ID, senden Sie eine Anfrage an den folgenden Endpunkt die Daten des Seiteninhaltes zu holen -

https://www.blogger.com/feeds/BlogID/pages/default/PageID?alt=json 

ersetzen BlogID und PageID mit den tatsächlichen Werten