我正在使用Google Play Android Developer API从服务器到服务器检查用户订阅的订阅状态,但在成功授权并请求现有订阅后,我收到401响应,并显示以下消息“当前用户没有足够的权限执行所需操作”。参观https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=XXXXXX我可以看出我确实有要求的范围(https://www.googleapis.com/auth/androidpublisher)但我每次都得到同样的回答。其他人也有同样的问题吗?
编辑:我已经看到了ExploreAPI应用程序的功能,它在请求的查询字符串中添加了键,但我没有该值。在控制台中,我创建了一个服务帐户客户端Id,它有一个客户端Id、电子邮件地址和一个私钥,但没有一个API密钥可以用于探索API的用途。
编辑2:我已经将服务帐户生成的电子邮件添加到谷歌Play开发者控制台和谷歌钱包控制台,但我仍然没有访问权限。我使用nodejs和googleoauthjwt,因为没有google为nodejs提供的lib。
下面是我用来发出请求的代码:
var request = require('google-oauth-jwt').requestWithJWT();
function makeReq() {
request({
url: 'https://www.googleapis.com/androidpublisher/v1.1/applications/{packageName}/subscriptions/{subscriptionId}/purchases/{purchaseToken}',
jwt: {
// use the email address of the service account, as seen in the API console
email: 'blahblahtrutjtrutj@developer.gserviceaccount.com',
// use the PEM file we generated from the downloaded key
keyFile: 'purchases-test.pem',
// specify the scopes you wish to access
scopes: ['https://www.googleapis.com/auth/androidpublisher']
}
}, function (err, res, body) {
if (err) {
console.log(err);
} else {
console.log("BODY IS ------------------------------------------");
console.log(JSON.parse(body));
}
});
}
有一个与您的服务帐户关联的电子邮件地址。
这需要在dev控制台和Play存储中具有适当的权限。确保将服务地址添加到Play store。
我接近它的方式是使用
var googleAuth = require('google-oauth-jwt'),
authObject = {
email: 'blahblahtrutjtrutj@developer.gserviceaccount.com',
keyFile: 'purchases-test.pem',
scopes: ['https://www.googleapis.com/auth/androidpublisher']
};
googleAuth.authenticate(authObject, function (err, token) {
next(err, token);
});
我将令牌存储在redis中一小时,并使用该令牌向存储发出请求:
var opts = {
url : verifyUrl + payload.packageName + '/inapp/' + payload.productId + '/purchases/' + payload.token,
headers: {
authorization : 'Bearer ' + token
}
};
request.get(opts, function (error, response, body) {
next(error, response, body);
});
如果您的应用程序仅以封闭的alpha轨道发布,您还必须在设置中将您的服务帐户的电子邮件地址(client_email)添加到许可证测试员-
我正在使用谷歌应用程序默认凭据来获取使用Gmail API的标签列表。 当使用命令在本地运行应用程序时,我得到了
我的Firestore数据库有一些用户和一些s。如果没有其他人认领,用户可以认领。他们通过在上创建一个文档来声明,该文档有一个名为的字段,该字段是对他们自己的用户文档的引用。 我想我已经在这些安全规则中捕捉到了: 但是,当为所有权删除文档时,我获得了: 我是这样做的: 如果我打开read和write设置为true的文档,就不会出现此异常。 我的规则怎么了?他们用模拟器测试正常。
情况: 我正在为我的应用测试Gmail API。 我已经测试了一些请求,它们工作正常。例如,获取消息、获取用户历史记录、获取草稿列表等。。 基本上所有只读请求都工作正常。 相反,我有一些与其他请求的权限相关的问题,例如当我必须编写或删除草稿时。 这是我得到的错误: 代码: 这是初始化应用程序的函数: 这是删除一份草稿的请求: 编辑: 我已尝试撤销权限并设置新凭据。初始化服务时声明的范围是: 如文件
开发者功能允许以许多不同的方式扩展和增强 Chart.js。 Chart.js 支持所有支持 canvas 的浏览器。 所有现代和主流移动浏览器都支持浏览器对 canvas 元素的支持。CanIUse 感谢BrowserStack让我们的团队在数千个浏览器上进行测试。 版本 2 具有与早期版本完全不同的 API。 大多数早期的版本选项具有当前的等价物或者相同。 请使用chartjs.org 上提供
我正在尝试在我的web应用程序(当前在localhost中)中发送电子邮件,我正在使用我在控制台应用程序中使用的下一个代码(及其工作代码),它应该打开一个网页,询问google帐户: 我得到了一个错误: 谷歌。API。请求。请求错误 许可不足[403] 错误[消息[权限不足]位置[-]原因[权限不足]域[全局]