تنشر العديد من المواقع معلومات حول مواد جديدة على الشبكات الاجتماعية ، ويمكن القيام بذلك على Facebook. من المفترض أنك قمت بالفعل بإنشاء
التطبيق وتحديد المضيفين المسموح بهم لإعادة توجيه OAuth في علامة التبويب "خيارات متقدمة" في عنصر قائمة "الإعدادات". لذلك ، نبدأ الجلسة بوظيفة session_start () ، كل من يحتاج إليها يمكنه تشغيل مخرجات الخطأ إذا تم تعطيله.
error_reporting(E_ALL); ini_set("display_errors", 1);
بعد ذلك ، قم بتنزيل مكتبة PHP SDK (الموجودة على github) واستخرج مجلد src (والذي يمكن إعادة تسميته). ثم حدد المسار إلى أداة التحميل التلقائي.
require_once __DIR__ . '/_src/autoload.php';
الآن إنشاء مثيل لفئة الفيسبوك.
$fb = new Facebook\Facebook([ 'app_id' => '1234567890123456',
ندعو المساعد لأداء التفويض ، وتحديد الأذونات المطلوبة للنشر على الصفحة.
$helper = $fb->getRedirectLoginHelper();
بعد أن تتم إعادة توجيهك إلى موقع Facebook ، حيث ستحتاج إلى تسجيل الدخول ، ستتبع الرابط المحدد في وظيفة getLoginUrl (). هنا ، مرة أخرى ، تتصل بالمساعد الذي تحصل منه على المستخدم access_token.
$helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch(Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph : ' . $e->getMessage(); exit; } catch(Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK : ' . $e->getMessage(); exit; } if (isset($accessToken)) $_SESSION['facebook_access_token'] = (string) $accessToken; elseif ($helper->getError()) exit;
إذا حاولت النشر إلى الصفحة باستخدام هذا الرمز المميز ، فسيتم إرجاع خطأ "خطأ في الأذونات" ، حيث يتطلب ذلك رمزًا مميزًا للصفحة. للحصول عليها ، تحتاج إلى استدعاء وظيفة get () الخاصة بكائن Facebook وتمرير معلمتين إليها: عنوان url الخاص بطلب الرمز المميز للصفحة ، والذي يحتوي على معرف الصفحة التي تريد نشرها ومستخدم access_token الذي تم استلامه مسبقًا.
try { $response = $fb->get('/id_?fields=access_token', $_SESSION['facebook_access_token']); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph : ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK : ' . $e->getMessage(); exit; }
سيكون الرمز المميز المستلم مدة غير محدودة. تتوفر معلومات الرمز المميز من خلال
المصحح . الآن يمكنك محاولة نشر رسالة.
$str_page = '/1234567890123456/feed'; $feed = array('message' => ''); try { $response = $fb->post($str_page, $feed, 'access_token_'); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph : ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK : ' . $e->getMessage(); exit; } $graphNode = $response->getGraphNode(); echo ', id: ' . $graphNode['id'];
إذا لزم الأمر ، يمكنك الخروج من Facebook.
$helper = $fb->getRedirectLoginHelper(); $logoutUrl = $helper->getLogoutUrl($_SESSION['facebook_access_token'], 'url____'); echo '<a href="' . htmlspecialchars($logoutUrl) . '"></a>';