Facebook и Twitter делятся для мобильного Интернета - PullRequest
17 голосов
/ 25 августа 2011

Существует ли специальный URL-адрес для отправки в Facebook и Twitter для мобильных устройств?Или они такие же, как на веб-сайтах?

Использование

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>   
<a href="javascript:return false;" rel="nofollow" onclick="window.open('https://twitter.com/share?text=sometext&url=someurl', 'Twitter', 'toolbar=0,status=0,width=626,height=436')">Twitter</a>

для Twitter и

<script>
    function fbs_click() 
    {
        u='www.something';
        t='title';
        window.open('http://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
        return false;
    }
</script>

<a rel="nofollow" href="http://www.facebook.com/sharer/sharer.php?u=someurl" onclick="return fbs_click()" target="_blank" class="">Facebook</a>

для Facebook.

Ответы [ 4 ]

26 голосов
/ 25 августа 2011

Ваша реализация совместного использования должна быть такой же и должна работать до тех пор, пока ваши мобильные пользователи имеют устройства, поддерживающие или воспроизводящие JavaScript.В противном случае вы можете использовать URL-адрес API каждой платформы для публикации внутри ссылки, единственная проблема - обратный вызов перенаправляет их либо в Twitter, либо в Facebook, и им придется вручную вернуться на ваш сайт.Ссылки указаны ниже:

Поделиться в Facebook:

http://m.facebook.com/sharer.php?u=<urlencoded url>t=<urlencoded title>

Например:

http://m.facebook.com/sharer.php?u=http://www.google.com

Обновление статуса в Twitter:

http://mobile.twitter.com/home?status=<urlencoded status>
11 голосов
/ 07 октября 2011

Несколько замечаний относительно ответа Simpleton.

  1. URL http://m.facebook.com/sharer.php может быть не тем, что вам нужно.Сайт, который вы указываете в параметре запроса u, должен иметь несколько тегов на странице, чтобы страница общего доступа была вообще интересной.Просто попробуйте добавить другой URL, кроме Google, чтобы понять, что я имею в виду.Я так и не смог выяснить, что он ищет на странице сайта, чтобы показать что-нибудь полезное на вашей странице общего доступа.Я не нашел способа предоставить дополнительную информацию о сайте, которым вы делитесь.

  2. Параметр t запроса больше не читается Facebook, насколько я могу судить

  3. Я обнаружил, что диалоговое окно фида Facebook было лучшей альтернативой для совместного использования (https://developers.facebook.com/docs/reference/dialogs/feed/). См. Пример внизу этой страницы для информации, которой вы можете поделиться. Вставьте этот пример URL в свой браузер, чтобы увидеть, чтоэто выглядит так. Вы можете поиграться с параметрами, чтобы увидеть, что каждый параметр контролирует в сообщении. Например, если вы не предоставите параметр заголовка, кажется, что вместо него используется базовый URL-адрес параметра ссылки.Чтобы использовать подход диалога каналов, необходимо зарегистрировать свое приложение в Facebook, чтобы получить идентификатор приложения, который нужно будет включить в URL-адрес диалога канала. Кроме того, приложение также связывается с URL-адресом веб-сайта, который также используется в диалоговом окне канала.URL. Если вы хотите, чтобы Facebook предоставлял вам страницу, удобную для мобильных устройств, добавьте & display = touch в конец диалогового окна канала UR.L.Наконец, вы должны предоставить параметр redirect_uri, где пользователь будет перенаправлен (с идентификатором записи, включенным в качестве параметра запроса), поэтому вам нужно что-то по этому URL для обработки ответа.

  4. Относительно URL http://mobile.twitter.com/home?status я узнал несколько вещей: во-первых, любые URL-адреса, включаемые в статус, не будут сокращены (облом);во-вторых, если ваш статус включает какие-либо одинарные кавычки, они будут закодированы как '(код сущности HTML), но не будут расшифрованы, когда вы отправите твит.Однако этого не произойдет, если вы публикуете через рабочий стол с использованием того же URL-адреса.Чтобы понять, что я имею в виду, попробуйте следующий URL-адрес как с вашего iPhone (я использовал Safari на iPhone), так и с вашего рабочего стола (я использовал Safari):

http://mobile.twitter.com/home?status=Wayne's%20World

Обратите внимание, я делаю javascript encodeURI для статуса, но в большинстве кодировщиков URL / I одинарные кавычки обычно не являются кодируемыми символами.Есть некоторые, которые заменят одинарную кавычку на% 27, но я попытался вставить ее вручную, но она так и не была расшифрована в тексте состояния.

Я надеюсь, что эта информация поможет кому-то прийти сюда в поисках простыхFacebook и Twitter возможности обмена.

5 голосов
/ 01 июля 2013

Twitter - Вот так я решил твит по URL для всех устройств / браузеров:

http://twitter.com/intent/tweet?text= + encodeURIComponent(tweet);

encodeURIComponent - это встроенная функция javascript, объясненная здесь .

'http://mobile.twitter.com/home?status=' не поддерживается, и вы получите проблемы с кодировкой, когда твиттер запрашивает логин.

Facebook - Для публикации в Facebook я использовал Пример Facebook API

3 голосов
/ 11 июня 2012

URL-адрес в порядке, но вам нужно поработать на вашем сервере, чтобы Facebook выглядел действительно прилично. Facebook теперь использует «Open Graph», который позволяет вам добавлять специальные теги на вашу веб-страницу, которые понимает Facebook. Вы можете определить, какие типы мультимедиа находятся на странице, даже добавить свои собственные объекты с определениями, которые вы создаете в своем приложении Facebook. Ссылка на страницу разработчиков объектов Open Graph Здесь .

Пример Open Graph на странице сведений может выглядеть следующим образом:

<meta property="fb:app_id"            content="YOUR FACEBOOK_APP_ID }}" /> 
<meta property="og:url"               content="The URL that this page is on" /> 
<meta property="og:site_name"         content="Your domain" />
<meta property="og:title"             content="Title of your page" />
<meta property="og:type"              content="This is very important - it is how
  Facebook refers to your post.  Image, video, text, etc.  Even custom stuff is
  possible" />
<meta property="og:image"             content="image url for facebook to display on
the user's wall" />
<meta property="og:determiner"        content="auto" />   
<meta property="og:description"       content="A description you want with this
content" />

И так далее. Это все идет на <head> странице фактического URL, который вы предоставляете в Facebook. Тогда Facebook переведет это в соответствующий пост. Кроме того, вам нужно настроить Open Graph на странице разработчика приложений, чтобы Facebook знал, что нужно искать теги og :. Это сложно, но работает.

Удачи!

...