SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Споделяне в Facebook

Здравейте,

Искам да попитам дали някой тук е търсил и дали е намерил примерни кодове за споделяне на статии(новини) от сайт?

Ще се радвам, ако някой сподели нещо подобно.

Да допълня още нещо: Трябва ми нещо подобно на twitterfeed.com или RSS Graffiti и по-точно да се споделя информация от RSS поток
 
За: Споделяне в Facebook

За: Споделяне в Facebook

В момента използвам и двете горе посочени, но ми се иска да си направя собствено и да не завися от никой.
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Това е моят скрипт и той определено работи.
Възможно е да имаш проблем с access_token. Доста е завъртяно докато се получат.
Пробвай скрипта, най-добре с Firefox, като пуснеш var_dump($result); и виж дали ще получиш някакво съобщение.

PHP:
<?php

$fbconfig['appid' ]  = "XXX";
$fbconfig['api'   ]  = "XXX";
$fbconfig['secret']  = "XXX";

$token="XXX";
$message="Message";
$link="http://www.example.com";
$picture="http://www.example.com/pic.jpg";
$name="Article Title";
$caption="Caption for the link";
$description="Longer description of the link";
     
$data=array('access_token'=> $token, 'message'=> $message, 'link' => $link, 'picture'=> $picture, 'name'=> $name, 'caption'=> $caption, 'description'=> $description);
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_URL, 'https://graph.facebook.com/PAGE_ID/feed');
curl_setopt($ch1, CURLOPT_POST, 1);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $data);
$rs1 = curl_exec($ch1);
curl_close($ch1);
$result = explode("=",$rs1);
//var_dump($result);
$obj = json_decode($result[0]);
$statusid=$obj->{'id'};
echo $statusid;

?>
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Екстра е, но само един въпрос. Как да направя да публикува от името на страницата, защото в момента публикува от мое име

5163758H.jpg
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Създаденото от теб приложение трябва да получи права (publish_stream,read_stream,manage_pages) за да може да пише на стената на ФБ страницата ти, това става със следната заявка:

https://www.facebook.com/dialog/oauth?client_id=APP_ID&redirect_uri=http://www.tvoia-sait.com/&scope=publish_stream,offline_access,read_stream,manage_pages&state=Някакъв цифрен код

*в случая offline_access е излишно като превилегия, защото ФБ вече не го поддържа, но пък не е навредило на процеца

Зарежда се страница от ФБ, на която трябва да потвърдиш използването на приложението.
При успешно потвърждение, те прехвърля на http://www.tvoia-sait.com/.
От адрес-бара на браузъра (най-добре ползвай Firefox) копираш цялото му садържание в някой редактор, което изглежда така:

http:/www.tvoia-sait.com/?state=Някакъв цифрен код&code=GHsadjljsadsadkasjdjsa_d2_xBy_bcsfndurewiouo7d7fdsf798-Gsdsjhdkj98sad-kjldsfkldsjflj898dsfdsf_bvcbvbbfdsDDFDSSD-45sdfdsfdsfdsfvcx#_=_

За да си генерираш потребителски access_token генерираш следната заявка:

https://graph.facebook.com/oauth/access_token?client_id=APP_ID&redirect_uri=http://tvoia-sait.com/&client_secret=APP_SECRET&code=GHsadjljsadsadkasjdjsa_d2_xBy_bcsfndurewiouo7d7fdsf798-Gsdsjhdkj98sad-kjldsfkldsjflj898dsfdsf_bvcbvbbfdsDDFDSSD-45sdfdsfdsfdsfvcx#_=_


Като отговор в браузера получаваш:

access_token=SDDSsjdklsdsdfdsf8987dfdsfdsfds44sdfdsfdsf79879sdfdsfdsf979dsfdsfddsf&expires=5183933

За да виши какъв access_token е генериран за твоята ФБ страница - този който трябва да заложиш в скрипта за да излизат публикациите от името на приложението, а не от твое име, е необходимо да генерираш следващата заявка:

https://graph.facebook.com/me/accounts?access_token=SDDSsjdklsdsdfdsf8987dfdsfdsfds44sdfdsfdsf79879sdfdsfdsf979dsfdsfddsf

и като отговор излиза:

"data": [
{
"name": "ИМЕТО НА ФБ СТРАНИЦАТА",
"access_token": "asldhSDSDSDjhskjshdkjdsd07077sadasdhkjsahdkjsahdkj098sadasdkjhasdasdasdsa",
"category": "Website",
"id": "PAGE_ID",
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
}

Копираш си access_token, в този пример: asldhSDSDSDjhskjshdkjdsd07077sadasdhkjsahdkjsahdkj098sadasdkjhasdasdasdsa в пхп скрипта и го изпълняваш.
Би трябвало да поства от името на приложението.
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Благодаря за точния отговор, но след като разреша достъпа ми връща следния резултат в сайта или той не е проблем?

Код:
array(1) { [0]=> string(191) "{"error":{"message":"Error validating access token: Session has expired at unix time 1345496400. The current unix time is 1345550925.","type":"OAuthException","code":190,"error_subcode":463}}" }
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Отиди в настройките на акаунта си и изтрий от менюто с приложения създаденото от теб такова.
Повтори стъпките отново.
Това съобщение не е излизало при мен.
Ако пак се появи, кажи точно при коя заявка излиза - при заявките за получаване на access token или при постване съобщение със скрипта.
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Всичко е точно, взех access_token-a, но при поставянето в страницата(изпълнението на скрипта) връща следния резултат

Код:
array(1) { [0]=> string(131) "{"error":{"message":"(#200) The user hasn't authorized the application to perform this action","type":"OAuthException","code":200}}" }
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Хм, това е признак, че твоето приложение няма право да пише на стената на страницата.

Сигурен си, че тука изпълняваш всичко правилно:

https://www.facebook.com/dialog/oauth?
client_id=APP_ID -> твоето АПП ИД
&redirect_uri=http://www.tvoia-sait.com/ -> сайта, който е заложен в настройките на приложението
&scope=publish_stream,offline_access,read_stream,m anage_pages -> тези права
&state=Някакъв цифрен код
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Предполагам, че докато извършваш описаните стъпки си логнат във ФБ през същия браузъра, с който ги изпълняваш.
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Да всичко това го направих, взех token-a за страницата от https://graph.facebook.com/me/accounts?access_token=$code и го поставих в скрипта.
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Едно голямо БЛАГОДАРЯ! Направих всичко отначало и вече работи!
 
За: Споделяне в Facebook

За: Споделяне в Facebook

Браво! Радвам се, че съм бил полезен :wink:
Имай само в предвид, че ако си смениш поради някаква причина паролата за ФБ, ще трябва да правиш цялата процедура отново.
И за да си сигурен, че си с правилния token, провери този, който ползваш в скрипта на следния линк

https://developers.facebook.com/tools/debug

Важно е да излезе -> Expires:Никога
 
За: Споделяне в Facebook

За: Споделяне в Facebook

developers.facebook.com/tools/console/ Тази конзола също ще ти е от полза докато си разработваш приложението. Само накрая ще го интегрираш за твоя сайт.
 
За: Споделяне в Facebook

За: Споделяне в Facebook

офф-топик: айде, сега едно шалче на Лудогорец за mediaman ;-)))
 

Горе