Graph API-Version

Standortseiten

Dies stellt verschiedene Standortseiten einer übergeordneten Unternehmensseite dar. Zum Beispiel Seiten für jedes Restaurant einer Kette.

Diese Edge kann von allen Apps gelesen werden. Einige Arten von Veröffentlichungsvorgängen stehen nur ausgewählten Entwickler*innen zur Verfügung.

Befolge diese Richtlinien, wenn du Veröffentlichungsvorgänge dieser API verwendest:

  • Verlange keine Gebühr für das Erstellen oder Beanspruchen einer Seite.
  • Bevor du es Kund*innen ermöglichst, eine Seite zu erstellen, musst du ihnen zunächst eine Methode zur Verfügung stellen, einen bestehenden Ort zu beanspruchen, um die Duplizierung von Seiten zu vermeiden.
  • Stelle sicher, dass du nur Seiten erstellst, die mit realen Adressen verknüpft sind und nicht mit erfundenen oder virtuellen Orten.
  • Wenn du eine Seite im Namen eines*einer Kund*in erstellst, musst du auf Verlangen des*der Kund*in die volle Administration der Seite übertragen.
  • Lege ohne die Zustimmung des*der Kund*in keine Administrator*innen einer Seite für Dritte offen, es sei denn, dies ist durch geltendes Recht, durch Regeln oder Vorschriften eines Gerichts oder einer zuständigen Regierungsbehörde oder gemäß einem Gerichtsverfahren vorgeschrieben.

Lesen

Graph API Explorer
GET /v21.0/{page-id}/locations 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(
    '/{page-id}/locations',
    '{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 */
FB.api(
    "/{page-id}/locations",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Berechtigungen

  • Jeder gültige Zugriffsschlüssel muss Standorte abrufen.

Felder

Ein Array von Seitenobjekten, wovon jedes einen eigenen Standort des Unternehmens darstellt.

Veröffentlichen

Du kannst eine vorhandene standortbasierte Seite zu dieser Liste hinzufügen, indem du sie an dieser Edge veröffentlichst:

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

main_page_id=%7Bpage-id%7D&store_number=12345&location_page_id=%7Bsubpage-id%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/locations',
    array (
      'main_page_id' => '{page-id}',
      'store_number' => '12345',
      'location_page_id' => '{subpage-id}',
    ),
    '{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 */
FB.api(
    "/{page-id}/locations",
    "POST",
    {
        "main_page_id": "{page-id}",
        "store_number": "12345",
        "location_page_id": "{subpage-id}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("main_page_id", "{page-id}");
params.putString("store_number", "12345");
params.putString("location_page_id", "{subpage-id}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"main_page_id": @"{page-id}",
  @"store_number": @"12345",
  @"location_page_id": @"{subpage-id}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Berechtigungen

  • Ein Seitenzugriffsschlüssel ist erforderlich, um vorhandene Standorte zu einer Seite hinzuzufügen.
  • Ein Seitenzugriffsschlüssel ist erforderlich, um neue Standorte zu erstellen und sie zu einer Seite hinzuzufügen. Diese Funktion steht nur ausgewählten Entwickler*innen zur Verfügung.

Felder

NameBeschreibungTyp

differently_open_offerings

Muss verwendet werden, wenn für temporary_statusdifferently_open festgelegt ist, um anzugeben, inwiefern das Unternehmen anders als normal tätig ist, wie zum Beispiel ein Restaurant, das Abholservice anbietet. Enum-Schlüssel können einer oder mehrere der Nachstehenden sein: ONLINE_SERVICES, DELIVERY, PICKUP, OTHER mit dem Wert true oder false. So würde der Code für ein Restaurant, das für seine Speisen Abholung anbietet, den Lieferservice jedoch ausgesetzt hat, folgendermaßen lauten: differently_open_offerings:{"DELIVERY":"false", "PICKUP":"true"}

object

hours

Gibt die Öffnungszeiten für diesen Standort an.

object

{day}_{number}_{status}

Gibt einen einzelnen Öffnungszeitraum für einen Tag an. Für jeden Tag können zwei verschiedene Zeiträume angegeben werden. {day} sollte die ersten 3 Zeichen des Wochentags sein. {number} sollte entweder 1 oder 2 lauten, um die beiden Öffnungszeiträume pro Tag anzugeben. {status} sollte entweder open oder close lauten, um den Beginn und das Ende eines Zeitraums anzugeben. Beispiel: mon_1_open mit Wert 17:00 und mon_1_close mit Wert 21:15 stehen für einen einzigen Öffnungszeitraum von 17.00 Uhr bis 21.15 Uhr am Montag.

string

ignore_warnings

Hiermit gibst du an, ob Warnungen (keine Fehler) ausgegeben werden sollen, die aus diesem API-Anruf resultieren, wie zum Beispiel nicht mit der Postanschrift übereinstimmende Koordinaten.

bool

is_franchise

Handelt es sich um einen Franchising-Standort?

bool

country

Der Name eines Landes. Ist city_id nicht enthalten, ist dieser obligatorisch.

string

city

Der Name einer Stadt oder eines Ortes. Ist city_id nicht enthalten, ist dieser obligatorisch.

string

city_id

ID einer Stadt. Dabei handelt es sich um den key-Wert der adcity-Targeting-Optionen. Ist dieser nicht enthalten, müssen city und country angegeben werden (state und zip sind für Standorte in den USA ebenfalls erforderlich).

int

latitude

Breitengrad als Dezimalzahl Diese ist für location erforderlich.

string

location

Hiermit wird der Standort für diese Seite angegeben. Ist location_page_id nicht enthalten, ist diese Angabe obligatorisch. Das Wörterbuch muss den Schlüssel street (Postanschrift) enthalten. Es muss auch city_id oder alle city, state und country enthalten (state ist jedoch für Adressen außerhalb der USA optional). Das zip-Feld ist ebenfalls für Adressen außerhalb der USA optional. Informationen zur Erstellung einer Stadt-ID findest du später in dieser Dokumentation.

object

longitude

Längengrad als Dezimalzahl Diese ist für location erforderlich.

string

state

Der Name des Bundesstaates (oder der lokalen Entsprechung).

string

street

Postanschrift. Diese ist für location erforderlich.

string

zip

Postleitzahl des Standorts (oder lokale Entsprechung).

string

location_page_id

Die ID der Facebook-Seite, du als Standort hinzufügen möchtest. Ist dieses Feld nicht vorhanden, musst du stattdessen die Felder location, place_topics und phone angeben, um eine neue Standortseite zu erstellen.

numeric string

main_page_id

Die ID der Facebook-Seite, die die übergeordnete Seite aller Standorte darstellt. Das ist ein erforderliches Feld.

numeric string

permanently_closed

Ist dieser Standort dauerhaft geschlossen?

bool

phone

Die Telefonnummer für diesen Standort. Ist location_page_id nicht enthalten, ist diese Angabe obligatorisch.

string

pickup_options

Eine Liste von Abholoptionen für diesen Standort.

enum[] {CURBSIDE, IN_STORE, OTHER}

place_topics

Ortsbezogene Themen für diesen Standort. Ist location_page_id nicht enthalten, ist diese Angabe obligatorisch.

int[]

store_number

Eine beliebige, von dem*der Entwickler*in definierte ID für diesen Standort. Diese wird üblicherweise für die Verknüpfung mit einer internen Standortdatenbank verwendet. Das ist ein erforderliches Feld.

int

temporary_status

Gibt an, inwiefern das zu einer Seite gehörende Unternehmen anders als normalerweise arbeitet. Ist hierfür differently_open festgelegt, verwende die Angabe mit differently_open_offerings, um den Status anzugeben.

enum {differently_open, temporarily_closed, operating_as_usual, no_data}

Antwort

Wenn der Vorgang erfolgreich verläuft, erhält deine App diese Antwort:

{
  "success": true
}

Ansonsten wird eine entsprechende Fehlermeldung ausgegeben.

Löschen

Du kannst eine Standortseite aus einer übergeordneten Standortliste entfernen, indem du die über diese Edge entfernst:

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

main_page_id=%7Bpage-id%7D&store_number=12345&location_page_id=%7Bsubpage-id%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->delete(
    '/{page-id}/locations',
    array (
      'main_page_id' => '{page-id}',
      'store_number' => '12345',
      'location_page_id' => '{subpage-id}',
    ),
    '{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 */
FB.api(
    "/{page-id}/locations",
    "DELETE",
    {
        "main_page_id": "{page-id}",
        "store_number": "12345",
        "location_page_id": "{subpage-id}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("main_page_id", "{page-id}");
params.putString("store_number", "12345");
params.putString("location_page_id", "{subpage-id}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    params,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"main_page_id": @"{page-id}",
  @"store_number": @"12345",
  @"location_page_id": @"{subpage-id}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Berechtigungen

  • Ein Seitenzugriffsschlüssel ist erforderlich, um Standorte von einer übergeordneten Seite zu entfernen.

Felder

Alle Felder sind erforderlich.

Name Beschreibung Typ

main_page_id

ID der Haupt-Facebook-Seite für diesen Standort.

numeric string

store_number

Die von dem*der Entwickler*in definierte ID für diesen Standort.

numeric string

location_page_id

Die von Facebook definierte ID für diesen Standort.

numeric string

Antwort

Wenn der Vorgang erfolgreich verläuft, erhält deine App diese Antwort:

{
  "success": true
}

Ansonsten wird eine entsprechende Fehlermeldung ausgegeben.

Aktualisieren

Dieser Endpunkt wird für die neue Seitenversion unterstützt.

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

main_page_id=%7Bpage-id%7D&store_number=12345&location_page_id=%7Bsubpage-id%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/locations',
    array (
      'main_page_id' => '{page-id}',
      'store_number' => '12345',
      'location_page_id' => '{subpage-id}',
    ),
    '{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 */
FB.api(
    "/{page-id}/locations",
    "POST",
    {
        "main_page_id": "{page-id}",
        "store_number": "12345",
        "location_page_id": "{subpage-id}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("main_page_id", "{page-id}");
params.putString("store_number", "12345");
params.putString("location_page_id", "{subpage-id}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"main_page_id": @"{page-id}",
  @"store_number": @"12345",
  @"location_page_id": @"{subpage-id}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Berechtigungen

  • Ein Seitenzugriffsschlüssel ist erforderlich, um Standorte auf einer übergeordneten Seite zu aktualisieren.

Felder

Schließe zum Aktualisieren alle erforderlichen Veröffentlichungsfelder sowie alle weiteren Veröffentlichungsfelder ein, deren Werte du ändern möchtest.

Antwort

Wenn der Vorgang erfolgreich verläuft, erhält deine App diese Antwort:

{
  "success": true
}

Ansonsten wird eine entsprechende Fehlermeldung ausgegeben.