2014-02-07 3 views
3

Есть так много вопросов относительно Facebook sharer.php, но они все устарели. Сначала Facebook обесценил его, но, согласно FB's dev documentation, он вернулся. (Edit: А теперь это происходит снова ...?)Публикация сообщения о статусе Facebook?

Вы использовали, чтобы иметь возможность использовать его как это:

http://www.facebook.com/sharer/sharer.php?u=<url to share>&t=<message text>

Но documentation теперь только упоминает об этом:

https://www.facebook.com/sharer/sharer.php?u=<url to share>

enter image description here

можно ли установить некоторые предварительно введенные т ext в диалоговом окне, которое появляется при совместном использовании ссылки на Facebook?

Спасибо.

ответ

12

В диалоговом окне «Совместное использование» используется только URL-адрес для совместного использования в качестве параметра, больше ничего (название, описание, фотография, ...). Он извлекает эти данные из самого URL-адреса, из мета-элементов Open Graph, встроенных в документ, или принимает «предположение» из содержимого, если оно отсутствует.

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

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

И так как они объявили API v2.0, все новые приложения должны будут пройти «проверку входа», прежде чем они смогут запросить какие-либо дополнительные разрешения (и для публикации ссылки требуется одно) - и с предварительным просмотром, заполненное сообщение в потоке сообщений вашего приложения, вы окончательно не получите одобрение. Конечно, вы можете попытаться «обмануть» это и внедрить предварительное заполнение сообщения только после этого ... но опять же, это означает явное нарушение правил платформы и заблокирует ваше приложение, когда вас поймают ,

И если вы планируете делать это для нескольких пользователей с одинаковыми или в значительной степени похожими сообщениями, вы можете предположить, что алгоритмы Facebook поймают это довольно легко.

+0

Как я и думал. Благодаря! –

2

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

Например, с расширением chrome вы можете вставлять скрипты в домен facebook.com. в расширении манифест.JSON:

"content_scripts": [ 
     { 
      "matches": ["https://*.facebook.com/*", 

И тогда это может быть ваш contnet сценарий, где вы можете играть с текстом, зацепив до markeup. В этом примере высылается аналитика (коэффициент конвертации facebook sharer) и изменяется какой-либо текст (от «share» до «upload» to facebook):

sharer = (function() { 
    var _ref = qs('ref') ? qs('ref') : 'unknown'; 
    function qs(name) { 
     name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
     var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(location.search); 
     return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
    } 
    function isSharer() { 
     return location.pathname === '/sharer/sharer.php'; 
    } 
    function bindEvents() { 
     $('button[name="share"]').click(function() { 
      analytics.send('fb_sharer', 'share', _ref); 
     }); 
     $('#u_0_0').click(function() { 
      analytics.send('fb_sharer', 'cancel', _ref); 
     }); 
    } 
    function changeText() { 
     console.log($('.fcw').length); 
     $('.fcw').text('Upload to Facebook'); 
    } 
    function load() { 
     if (!isSharer()) return; 
     changeText(); 
     analytics.send('fb_sharer', 'view', _ref); 
     bindEvents(); 
    } 
    return { 
     load: load 
    } 
})(); 
+0

Стоит упомянуть, спасибо. –

Смежные вопросы