Приложение My Assistant получает статус PEMISSION_DENIED
с сообщением о том, что
у вызывающего абонента нет разрешения
Я выполнил все инструкции, приведенные здесьчеловек: Внедрение цифровых товаров
Я создал APK
, управлял элементами SKU
(действительный статус), приложение для Android, которое было опубликовано (действительный статус), включено Actions API
из Google API Console
и сделал service account key
для моего проекта, и выпустил мое приложение Assistant для beta
, чтобы протестировать его.Статус Connect App
равен connected
, и переключатель включен.Я думаю, что все необходимое выполнено, но сообщение об ошибке не исправлено, что означает, что я не могу получить покупные предметы, которые я приготовил в своем Google Developer Console
.
const createJwtClient = () => {
const scopes = [
"https://www.googleapis.com/auth/actions.purchases.digital"
];
return new google.auth.JWT(
serviceAccount.client_email,
null,
serviceAccount.private_key,
scopes,
null
);
};
const packageName = 'com.myproject.name'
const getSkus = (tokens, conv) => {
return new Promise((resolve, reject) => {
const url = `https://actions.googleapis.com/v3/packages/${packageName}/skus:batchGet`;
const convId = conv.request.conversation.conversationId;
const param = {
conversationId: convId,
skuType: "SKU_TYPE_IN_APP",
ids: [
"item-id1",
"item-id2"
]
};
request.post(url, {
auth: {
bearer: tokens.access_token
},
json: true,
body: param
}, (err, httpResponse, body) => {
if (err) {
reject(err);
} else {
const statusCode = httpResponse.statusCode;
const statusMessage = httpResponse.statusMessage;
console.log(`${statusCode}: ${statusMessage}`);
console.log(JSON.stringify(body));
resolve(body);
}
});
});
};
Я ожидаю, что я получу покупаемые предметы в формате JSON, но мой запрос на получение SKU
, похоже, не выполнен.
Но я получаю access_token
от JWT
запроса, используя мой service account key
.
Не могли бы вы указать, что что-то не так ??