Как работает кнопка «Поделиться» в Facebook при переполнении стека? - PullRequest
3 голосов
/ 21 сентября 2011

Я хочу добавить социальные иконки на наш сайт, чтобы клиенты могли «лайкать», твитить и делиться контентом в своих профилях в Facebook и Twitter.Слева от этого я заметил, что значки facebook и twitter делают точно , что я пытаюсь выполнить, но я не знаю, как это сделать.Глядя на исходный код, есть ссылки на JS на:

<script type="text/javascript">
  StackExchange.ready(function() {
    var shareUrl = "http%3a%2f%2fstackoverflow.com%2fq%2f7505636%2f337690";
    var shareMsg = "Advice+integrating+Facebook+%27share%27+and+link%2fimage+capabilities+with+our+site";   
    StackExchange.share.facebook($("#fb-share-7505636"), shareUrl, shareMsg);
    StackExchange.share.twitter($("#twitter-share-7505636"), shareUrl, shareMsg);
});
</script>

Наш сайт работает следующим образом: хотя каждый может посетить основной сайт в любое время, отдельные лица могут зарегистрироваться в качестве представителей со своим собственным уникальным URL, которыйвыступает в роли реферера для выдачи «кредита» на вознаграждение.Я просмотрел сайт разработчика Facebook и, честно говоря, я немного ошеломлен.Я хочу дать нашим членам возможность щелкать значок Facebook на панели инструментов, предлагая им публиковать на своей стене с заданным изображением, заданным названием и описанием.Я прочитал в документации это делается путем установки мета-тегов в голове, но это не имеет значения для моего сайта (или я явно делаю это неправильно).

Что если URL-адрес, который ищет Facebook (поделиться URL-адресом), находится за защищенной паролем страницей или областью сайта, которая не позволяет размещать контент на основе отсутствующей переменной PHP SESSION?

Редактировать

Я также много видел в сети, где говорится, что я должен интегрировать SDK Facebook JS, но затем продолжаю говорить об аутентификации / разрешении записи на стенах и т. Д. Да, ссылка слева не запрашивает разрешение на что-либо, кроме 1) входа в учетную запись FB, 2) публикации на стене пользователя. Этот сайт является прекрасным примером.

Ссылка выше отличная, но предполагается, что мне нужно авторизовать «общий ресурс», которого нет на этом сайте.

1 Ответ

3 голосов
/ 22 сентября 2011

Когда вы нажимаете кнопку «Поделиться», вы вызываете скрипт на facebook.com, который, в свою очередь, открывает страницу, указанную в строке запроса (? U = xxxxxx).

Facebook будет анализировать эту страницу и получать первые несколько найденных изображений, описание и заголовок со страницы.Это то, что он показывает вам и позволяет вам добавить дополнительный текст (а также отредактировать заголовок / описание / и выбрать другие изображения).

Если эта страница содержит определенные метатеги, которые Facebook просит васдобавить на страницу, затем они будут использовать их для заполнения заголовка / описания / изображения.Это позволяет автору веб-страницы контролировать, как его страница отображается в фиде Facebook (хотя пользователь все еще может редактировать ее перед публикацией).Эти метатеги должны быть на той конкретной странице, которая будет использоваться Facebook.

Если facebook не может получить доступ к странице, потому что она защищена паролем и т. Д. - тогда он не может проанализировать метатеги и затем просто показываетиспользуйте URL в качестве заголовка без описания и миниатюры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...