Откройте код протокола Graph для Blogger и получите тело сообщения - PullRequest
0 голосов
/ 08 сентября 2018

Я вставляю в свой блог блоггера код, чтобы он мог автоматически протокол Open Graph фрагменты, используемые, например, многими сайтами социальных сетей.

Я вижу много исходного кода вокруг, но, похоже, ни один не работает идеально.

Я написал это и вставил прямо перед тегом </head> в шаблоне блоггера. Работает хорошо, кроме как на имущество og:description. Я хотел бы также иметь содержание сообщения в качестве описания.

<!-- OpenGraph starts-->
<meta content='article' property='og:type'/>
<meta expr:content='data:blog.title' property='og:site_name'/>

<!-- Title and URL -->
<meta expr:content='data:blog.pageName' property='og:title'/>
<meta expr:content='data:blog.canonicalUrl.https' property='og:url'/>

<!--Description-->
<b:if cond='data:blog.metaDescription'>
    <meta expr:content='data:blog.metaDescription' property='og:description'/>
<b:elseif cond='data:post.snippet'/>
    <meta expr:content='data:post.snippet' property='og:description'/>
<b:else/>
    <meta expr:content='data:I_WANT_THE_POST_BODY' property='og:description'/>
</b:if>

<!-- Image -->
<b:if cond='data:blog.postImageThumbnailUrl'>
    <meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>
<b:elseif cond='data:blog.postImageUrl'/>
    <meta expr:content='data:blog.postImageUrl' property='og:image'/>    
<b:else/>
    <meta content='MY_BLOG_LOGO_URL' property='og:image'/> 
</b:if>

<meta expr:content='data:blog.locale' property='og:locale'/>

<!-- OpenGraph ends-->

Моя проблема в том, что я не могу получить тело сообщения, и, как указано в документации , то есть posts.body.

Какая переменная data позволяет получить текст / содержимое текущего / просмотренного / доступного сообщения?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Имплантация открытого графика в тег body недопустима и не является правильным решением. метатеги должны быть в пределах тега head. также Facebook не будет учитывать это в body. пожалуйста, обратитесь к этим ссылкам:

вместо этого вы можете использовать data:view.description, чтобы получить фрагмент каждого сообщения в теге head.

<!-- Description -->
<meta expr:content='data:view.description' property='og:description'/>

Вы должны добавить фрагмент в Поиск Описание поле при редактировании сообщений. Search Description Field

0 голосов
/ 09 сентября 2018

Это единственный способ использовать метатеги описания - внутри <b:includable id='post' var='post'>...</b:if>.

Например:

<b:includable id='post' var='post'>
  <b:if cond='data:blog.pageType == "item" or data:blog.pageType == "static_page"'>
    <b:if cond='data:blog.metaDescription != ""'>
      <meta expr:content='data:blog.metaDescription' name='twitter:description'/>
      <meta expr:content='data:blog.metaDescription' property='og:description'/>
    <b:else/>
      <meta expr:content='data:post.snippet' name='twitter:description'/>
      <meta expr:content='data:post.snippet' property='og:description'/>
    </b:if>
  </b:if>
  ...Other code...
</b:includable>

Кроме того, вы можете использовать <meta expr:content='data:blog.locale' property='og:locale'/> для языкового тега.

...