Магазин Facebook потянул неправильные миниатюры от Shopify [duplicate]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

386
задан Igy 13 July 2015 в 19:16
поделиться

11 ответов

Как сообщить Facebook, какой образ использовать, когда моя страница делится?

В Facebook есть набор метаданных с открытым графиком , на которые он может решить, какое изображение показывать.

Ключом для изображения Facebook являются:

<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:image:secure_url" content="https://secure.example.com/ogp.jpg" />

, и он должен присутствовать внутри тега <head></head> в верхней части страницы.

Если эти теги отсутствуют, он будет искать свой более старый метод указания изображения: <link rel="image_src" href="/myimage.jpg"/>. Если ни один из них не присутствует, Facebook будет просматривать содержимое вашей страницы и выбирать изображения со своей страницы, соответствующие критериям его общего изображения: Изображение должно быть не менее 200 пикселей на 200 пикселей, иметь максимальный формат изображения 3: 1 и в формате PNG, JPEG или GIF.

Могу ли я указать несколько изображений, чтобы пользователь мог выбрать изображение?

Да, вам просто нужно добавить несколько метатег изображений в том порядке, в котором вы хотите, чтобы они отображались. пользователь будет представлен диалоговым окном селектора изображений: Facebook Image Selector [/g5]

Я указал соответствующие метатеги изображений. Почему Facebook не принимает изменения?

После того, как URL был открыт, искатель Facebook, у которого есть пользовательский агент facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php), будет обращаться к вашей странице и кэшировать метаинформацию. Чтобы заставить Facebook-серверы очистить кеш, используйте Facebook Url Debugger / Linter Tool , который они запустили в июне 2010 года , чтобы обновить кеш и устранить любые проблемы с метатегами на вашей странице ,

Кроме того, изображения на странице должны быть общедоступны для искателя Facebook. Вы должны указать абсолютный url как http://example.com/yourimage.jpg вместо просто /yourimage.jpg.

Могу ли я обновить эти метатеги клиентским кодом, например Javascript или jQuery? Нет. Подобно поисковым роботам, скребок Facebook не выполняет сценарии, поэтому любые метатеги присутствуют при загрузке страницы - это метатеги, которые используются для выбора изображения.

Добавление этих тегов приводит к моей странице чтобы больше не проверять. Как это исправить?

Вы можете добавить необходимые теги имен Facebook в свой тег, и ваша страница должна пройти проверку:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="https://www.facebook.com/2008/fbml">  
583
ответ дан Blazemonger 19 August 2018 в 02:41
поделиться
  • 1
    Другое место выглядит: <link rel="apple-touch-icon" href="..."> (Так получилось SO-образ) – Yarin 4 March 2012 в 05:22
  • 2
    @ Ярин. Я не уверен, что это правда. У StackOverflow есть набор свойств image_src, который он использует. Имя файла для значка apple-touch отличается и не используется. – bkaid 13 March 2012 в 19:56
  • 3
    Могу ли я выбрать порядок изображения? В моем случае перед изображением метатег появляются другие изображения. – vicenrele 15 May 2013 в 13:01
  • 4
    Минимальный размер изображения составляет 200x200 пикселей. – Tr1stan 20 June 2013 в 17:49
  • 5
    Woot! Я установил размер img на 300 пикселей, теперь он работает. Спасибо @ Tr1stan – Urs 18 September 2013 в 14:04

Начиная с 2013 года, если вы используете facebook.com/sharer.php (PHP), вы можете просто создать любую кнопку / ссылку, например:

<a class="btn" target="_blank" href="http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo urlencode(YOUR_TITLE);?>&amp;p[summary]=<?php echo urlencode(YOUR_PAGE_DESCRIPTION) ?>&amp;p[url]=<?php echo urlencode(YOUR_PAGE_URL); ?>&amp;p[images][0]=<?php echo urlencode(YOUR_LINK_THUMBNAIL); ?>">share on facebook</a>

Параметры запроса ссылки:

p[title] = Define a page title
p[summary] = An URL description, most likely describing the contents of the page
p[url] = The absolute URL for the page you're sharing 
p[images][0] = The URL of the thumbnail image to be used as post thumbnail on facebook

Это просто: вам не нужны никакие js или другие настройки. Это всего лишь HTML-ссылка. Создайте тег A любым способом, который вы хотите.

28
ответ дан Antoine 19 August 2018 в 02:41
поделиться
  • 1
    p[images][0] был именно тем, что мне нужно. Теги og работают для совместного использования одного и того же изображения, но мне нужно разделить несколько изображений с одной и той же страницы. – thekingoftruth 18 December 2013 в 01:33
  • 2
    Это должен быть новый «принятый ответ» - такой простой и понятный. Спасибо за это, приятель. – Mike 24 February 2014 в 22:40
  • 3
    спасибо много простой и простой, надеюсь, что он работает – Vjeran Magister Ludi 16 March 2014 в 16:22
  • 4
    Антонио, у вас есть ссылка на источник, что вы показали выше? Я пытаюсь посмотреть это в developers.facebook.com, но не могу найти ничего, кроме этого . Пожалуйста помоги. – Mr_Green 17 March 2014 в 12:26
  • 5

Я не мог заставить Facebook выбрать правильное изображение из определенного сообщения, поэтому я сделал то, что описано на этой странице:

https://webapps.stackexchange.com/questions/ 18468 / add-meta-tags-to-individual-blogger-posts

Другими словами, что-то вроде этого:

<b:if cond='data:blog.url == "http://urlofyourpost.com"'>
  <meta content='http://urlofyourimage.png' property='og:image'/>
 </b:if>

В принципе, вы собираетесь для жесткого кодирования инструкции if в HTML вашего сайта, чтобы заставить ее изменить мета-контент для того, что вы изменили для этого сообщения. Это грязное решение, но оно работает.

0
ответ дан Community 19 August 2018 в 02:41
поделиться

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

ШАГ 1: Добавить метатеги под заголовком заголовка

<html>
<head>
    <meta property="og:url" content="http://www.test.com/" />
    <meta property="og:image" content="http://www.test.com/img/fb-logo.png" />
    <meta property="og:title" content="Prepaid Phone Cards, low rates for International calls with Lucky Prepay" />
    <meta property="og:description" content="Cheap prepaid Phone Cards. Low rates for international calls anywhere in the world." />

СЛЕДУЮЩИЙ ШАГ : Нажмите ниже ссылку https://developers.facebook.com/tools/debug

Добавьте свой URL в текстовое поле (например, http: //www.test .com / ), где вы упомянули теги. Нажмите кнопку DEBUG.

Сделано.

Вы можете проверить здесь https://www.facebook.com/sharer/sharer.php?u=http://www.test.com/

В приведенном выше URL-адресе u = ссылка вашего сайта

НАСЛАЖДАЙТЕСЬ !!!!

10
ответ дан Gaurav123 19 August 2018 в 02:41
поделиться

По моему опыту, http://www.facebook.com/sharer.php не использует метатеги. Он использует строку, которую вы передаете. См. Ниже.

http://www.facebook.com/sharer.php?s=100&p [title] = THIS IS MY TITLE & amp; p [summary] = ЭТО МОЕ РЕЗЮМЕ & amp; p [url] = http: //www.MYURL.com& & amp; p [images] [0] = http: //www.MYURL.com/img/IMAGEADDRESS

Мета-теги работают с кнопками разработчика Facebook, такими как / send, как и другая информация Open Graph. Поэтому, если вы используете один из реальных элементов Facebook, таких как комментарии и т. Д., Все это будет связано с материалом Open Graph.

UPDATE: Существует два способа использования разделителя * обратите внимание на? S по сравнению с? u в строке запроса 1 ==> STRING: http://www.facebook.com/sharer.php?s + содержимое сверху ~~> Извлечет информацию из строки. 2 ==> URL: http://www.facebook.com/sharer.php?u=url , где url равен фактическому url ~~> Скрежет страницу, указанную в URL-адресе ~~ > Вы можете проверить тестовые значения здесь: https://developers.facebook.com/tools/debug

12
ответ дан Jason Lydon 19 August 2018 в 02:41
поделиться
  • 1
    Очень полезно. Благодаря! : D – Aaron Gray 27 May 2013 в 18:32
  • 2
    Существует ли какой-либо законный способ использования этого участника на другом веб-сайте, чтобы получить содержимое из URL-адреса? Я не знаю много о API facebook и прочее ... – Lyth 20 September 2013 в 02:01
  • 3
    Попробуйте использовать параметр URL. Если на странице есть метки OG, FB очистит их. Проверьте страницу, которую вы хотите использовать здесь: developers.facebook.com/tools/debug – Jason Lydon 11 October 2013 в 15:39

Используйте диалог подачи в facebook вместо диалога совместного использования, чтобы показать пользовательские изображения

Пример:

https://www.facebook.com/dialog/feed?app_id=1389892087910588
&redirect_uri=https://scotch.io
&link=https://scotch.io
&picture=http://placekitten.com/500/500
&caption=This%20is%20the%20caption
&description=This%20is%20the%20description
1
ответ дан kittu 19 August 2018 в 02:41
поделиться

Когда вы делитесь Facebook, вы должны добавить свой html в раздел заголовка следующих метатег:

<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail_image" />

И это все!

Добавить кнопку, как вы должен соответствовать тому, что FB вам сообщает.

Вся необходимая информация находится в www.facebook.com/share /

35
ответ дан Mukesh Chapagain 19 August 2018 в 02:41
поделиться

Это то, что сработало для меня: я поместил желаемое уменьшенное изображение на странице сразу после тега и сделал его слишком маленьким, чтобы видеть ..

<img src="imagename.jpg" width="1" height="1" />

Я не тестировал его с высотой 0 и шириной 0, но он, вероятно, по-прежнему будет работать. Это не гарантирует, что пользователь выберет это изображение.

ТАКЖЕ похоже, что Facebook кэширует миниатюры на вашей странице и не всегда проверяет их на новые. Попробуйте добавить это на другую страницу своего сайта, и вы увидите, что она работает.

13
ответ дан sakibmoon 19 August 2018 в 02:41
поделиться
  • 1
    У меня также есть эта проблема. ЛИНТЕР сообщает об ошибке и показывает мое изображение правильно, но когда я нажимаю кнопку совместного доступа на моем сайте, в интерфейсе общего доступа абсолютно нет изображения. – Luke Griffiths 3 July 2012 в 12:56
  • 2
    Спасибо, он работал отлично. – Saeed Zarinfam 19 February 2013 в 18:43
  • 3
    после тега - вы имеете в виду: & quot; после тега BODY & quot ;? – Alexis Wilke 16 February 2014 в 05:38
  • 4
    Да, я считаю, что это то, что они означают. Я сделал это на сайте давным-давно, но использовал style="display:none;" вместо установки его в 1x1 пиксель. – Mike 24 February 2014 в 22:44
  • 5
    image_src больше не работает для Facebook, но некоторые службы все еще используют его (клиенты Telegram и т. д.), – Andres SK 26 November 2015 в 16:56

У меня была эта проблема, и я исправил ее с предложением manuel-84. Использование изображения 400x400px отлично поработало, в то время как мое уменьшенное изображение никогда не появлялось в ролике.

Обратите внимание, что Facebook рекомендует минимальное изображение размером 200 пикселей в качестве тега og: image: https: // developers. facebook.com/docs/opengraph/howtos/maximizing-distribution-media-content/#tags

1
ответ дан William 19 August 2018 в 02:41
поделиться
13
ответ дан sakibmoon 30 October 2018 в 14:18
поделиться
13
ответ дан sakibmoon 30 October 2018 в 14:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: