Не удается получить данные из Firestore с использованием чистого PHP и REST API - PullRequest
1 голос
/ 19 июня 2020

Итак, потратив ~ 4 часа на попытки получить данные из базы данных Firestore, я получил этот код:

$firestoreUrl = 'https://firestore.googleapis.com/v1/projects/[MY-PROJECT-ID]/databases/(default)/documents/users';

$query = http_build_query([
    "structuredQuery" => [
        "select" => [
            "fields" => [
                "fieldPath" => "email"
            ]
        ],
        "where" => [
            "fieldFilter" => [
                "field" => [
                    "fieldPath" => "email"
                ],
                "op" => "EQUAL",
                "value" => [
                    "stringValue" => "test@gmail.com"
                ]
            ]
        ],
        "from" => [
            "collectionId" => "users"
        ]
    ]
]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $firestoreUrl . $query);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer [MY-ACCESS-TOKEN]']);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

echo curl_exec($ch);

, а ответ:

{} с HTTP/2 200.

Когда я удаляю $query из url-адреса curl, я получаю все записи базы данных.

Я также пытался использовать json_encode() на $query, но тоже ничего не происходит. Все еще получаю {} с ответом HTTP/2 200.

Есть помощь?

...