Google API «Покупки.продукты: получить» неожиданно возвращает 401 ОШИБКУ - PullRequest
0 голосов
/ 07 января 2019

Покупки.продукты: get работали хорошо до 2 недель назад. Тем не менее, он начинает возвращать ошибку внезапно. (Я не менял никаких опций)

Он все еще может обновлять токен с помощью POST запроса до https://accounts.google.com/o/oauth2/token с (grant_type, client_id, client_secret, refresh_token), но с возвращенным токеном доступа, 403 Ошибка возникает как ниже.

{
    "error": {
        "errors": [
            {
                "domain": "androidpublisher",
                "reason": "permissionDenied",
                "message": "The current user has insufficient permissions to perform the requested operation."
            }
        ],
        "code": 401,
        "message": "The current user has insufficient permissions to perform the requested operation."
    }
}

Это панель инструментов Google, представляющая частоту ошибок для Purchases.products: get

enter image description here

Я нашел вопрос , но он все еще не работает.

---------- РЕДАКТИРОВАТЬ ----------

Я хочу описать более подробно. Я не знаю, правильно ли это, потому что я на самом деле просто исправляю систему Legacy, которую кто-то сделал.

Процесс выше (обновление токена и запрос информации о покупке) выполняется на стороне сервера. Это на стороне сервера, чтобы проверить, правильно ли отправлено APP с информацией о покупке.

Когда приложение отправляет информацию о покупке, серверная сторона просто вызывает HTTP-запрос (POST и GET) с предопределенными атрибутами (client_id, client_secret, grant_type).

Это означает, что нигде нет процесса авторизации.

Кроме того, client_id и client_secret, которые я использую, похоже, были созданы в google-developer-console с помощью create-credentials на изображении ниже, но не при регистрации приложения.

enter image description here

---------- Редактировать ----------

Я попытался воссоздать client_id с учетной записью владельца. скриншот от google developer console->IAM&Admin->IAM

enter image description here

Однако это все та же ошибка.

1 Ответ

0 голосов
/ 07 января 2019

"У текущего пользователя недостаточно прав для выполнения запрошенной операции."

Пользователь, с которым вы сейчас авторизованы, больше не имеет доступа к данным, к которым вы пытаетесь получить доступ. Либо снова предоставьте пользователю доступ, либо войдите в систему с пользователем, у которого есть доступ.

ClientId

Если вы хотите работать с Google API, вы должны зарегистрировать свое приложение. Когда вы делаете это, Google дает вам идентификатор клиента. Это идентифицирует ваше приложение для Google, когда оно запускается.

Доступ к данным пользователя

Чтобы получить доступ к личным данным пользователя, вы должны иметь разрешение лица, которому принадлежат данные, для доступа к ним. Ваше приложение запускается (Обозначается идентификатором клиента), и пользователю предлагается войти в Google и дать согласие вашего приложения на доступ к их данным.

Если пользователь потеряет доступ к данным, которые он предоставил вашему приложению, доступ к вашему приложению потеряет его.

...