إصدار ‏‎Graph API‎‏

/{app-id}/subscriptions

يسمح لك عنصر الربط هذا بتكوين اشتراكات أحداث webhooks في التطبيق.

القراءة

مستكشف Graph API
GET /v21.0/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{app-id}/subscriptions',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{app-id}/subscriptions",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{app-id}/subscriptions"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

الأذونات

  • يلزم توفير رمز وصول التطبيق لإرجاع الاشتراكات لذلك التطبيق.

الحقول

الاسم الوصف النوع

object

يشير إلى نوع الكائن الذي ينطبق عليه هذا الاشتراك.

enum{user, page, permissions, payments}

callback_url

عنوان URL الذي سيتلقى طلب POST عند تشغيل التحديث.

string

fields

مجموعة الحقول الموجودة في object والتي تم الاشتراك فيها.

string[]

active

يشير إلى ما إذا كان الاشتراك نشطًا أم لا.

bool

الإنشاء

يمكنك إنشاء اشتراكات أحداث Webhooks جديدة باستخدام عنصر الربط التالي:

POST /v21.0/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com

object=page&callback_url=http%3A%2F%2Fexample.com%2Fcallback%2F&fields=about%2C+picture&include_values=true&verify_token=thisisaverifystring
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{app-id}/subscriptions',
    array (
      'object' => 'page',
      'callback_url' => 'http://example.com/callback/',
      'fields' => 'about, picture',
      'include_values' => 'true',
      'verify_token' => 'thisisaverifystring',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
Bundle params = new Bundle();
params.putString("object", "page");
params.putString("callback_url", "http://example.com/callback/");
params.putString("fields", "about, picture");
params.putString("include_values", "true");
params.putString("verify_token", "thisisaverifystring");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{app-id}/subscriptions",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"object": @"page",
  @"callback_url": @"http://example.com/callback/",
  @"fields": @"about, picture",
  @"include_values": @"true",
  @"verify_token": @"thisisaverifystring",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{app-id}/subscriptions"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

سيؤدي إرسال طلب POST يتضمن الحقول callback_url وverify_token وobject إلى إعادة تنشيط الاشتراك.

التقييدات

الأذونات

  • يلزم توفير رمز وصول التطبيق لإضافة الاشتراكات الجديدة لذلك التطبيق.
  • لن تكون اشتراكات نوع الكائن user صالحة إلا للمستخدمين الذين قاموا بتثبيت التطبيق.
  • لن تكون اشتراكات نوع الكائن page صالحة إلا للصفحات التي قامت بتثبيت التطبيق. يمكنك تثبيت التطبيق في الصفحة باستخدام عنصر الربط /{page-id}/subscribed_apps.
  • يجب أن يكون التطبيق المستخدم للاشتراك قد تم إعداده لتلقي تحديثات Webhooks.

الحقول

الاسم الوصف النوع

object

يشير إلى نوع الكائن الذي ينطبق عليه هذا الاشتراك.

enum{user, page, permissions, payments}

callback_url

عنوان URL الذي سيتلقى طلب POST عند تشغيل تحديث ما، وطلب GET عند محاولة نشر العملية. راجع دليل إنشاء صفحة عنوان URL الاستدعاء.

string

fields

مجموعة حقول صالحة واحدة أو أكثر في object والتي سيتم الاشتراك فيها.

string[]

include_values

يشير إلى ما إذا كان يجب أن تتضمن إشعارات التغيير القيم الجديدة.

bool

verify_token

سلسلة عشوائية يمكن استخدامها للتأكيد للخادم بأن الطلب صالح.

string

الاستجابة

إذا كان عنوان URL الاستدعاء صالحًا ونجح الاشتراك:

{
  "success": true
}

بخلاف ذلك، ستظهر رسالة الخطأ ذات الصلة.

الحذف

يمكنك حذف كل الاشتراكات أو الاشتراكات في كل كائن باستخدام العملية التالية:

DELETE /v21.0/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com

object=page
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->delete(
    '/{app-id}/subscriptions',
    array (
      'object' => 'page',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
Bundle params = new Bundle();
params.putString("object", "page");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{app-id}/subscriptions",
    params,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"object": @"page",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{app-id}/subscriptions"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

يمكنك حذف حقول محددة من الاشتراك عن طريق تضمين المعلمة fields.

الأذونات

  • يلزم توفير رمز وصول التطبيق لحذف الاشتراكات لذلك التطبيق.

الحقول

الاسم الوصف النوع

object

نوع الكائن المحدد المطلوب لإزالة الاشتراكات الخاصة به. إذا لم يتم تضمين هذا الحقل الاختياري، فستتم إزالة كل الاشتراكات لهذا التطبيق.

enum{user, page, permissions, payments}

fields

مجموعة حقول صالحة واحدة أو أكثر في object والتي سيتم الاشتراك فيها.

string[]

الاستجابة

إذا كانت عملية ناجحة:

{
  "success": true
}

بخلاف ذلك، ستظهر رسالة الخطأ ذات الصلة.

التحديث

يمكنك تنفيذ التحديثات على عنصر الربط هذا عن طريق إجراء عملية نشر من خلال القيم الجديدة. سيؤدي ذلك إلى تعديل الاشتراك للموضوع المحدد من دون استبدال الحقول الموجودة.