You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET API调用AndroidPublisherService获取订阅资源遇401授权错误

解决Google Play Purchases.Subscriptions.Get接口401未授权问题

以下是几个排查和解决方向:

  • 检查服务账号的Play控制台权限
    光在Google云控制台给服务账号加权限没用,必须在Google Play控制台里给它分配对应权限:

    1. 打开Google Play控制台 → 进入「用户和权限」页面
    2. 点击「邀请新用户」,输入服务账号的邮箱地址
    3. 勾选必要权限:至少要给「应用权限」下的「查看」权限,或者涉及订阅的财务数据权限,保存后等待权限生效(可能需要几分钟)
  • 规范AccessToken的获取与使用
    确保获取token时指定了正确的scope,并且让Google.Apis库自动处理认证流程,不要手动干预:

    // 用服务账号密钥文件初始化凭据
    var credential = GoogleCredential.FromFile("your-service-account-key.json")
        .CreateScoped(AndroidPublisherService.Scope.Androidpublisher);
    
    // 初始化AndroidPublisher服务,让库自动处理认证
    var publisherService = new AndroidPublisherService(new BaseClientService.Initializer
    {
        HttpClientInitializer = credential,
        ApplicationName = "Your App Name"
    });
    
    // 调用接口
    var getRequest = publisherService.Purchases.Subscriptions.Get(
        "your-package-name", 
        "your-subscription-id", 
        "purchase-token-from-notification");
    var subscription = await getRequest.ExecuteAsync();
    

    手动获取token再传入容易出错,尽量让库自行管理认证。

  • 核对调用参数的正确性
    确认调用purchases.subscriptions.get时的三个参数:packageName、subscriptionId、purchaseToken完全和实时开发者通知返回的一致,尤其是purchaseToken不能有拼写错误或截断。

  • 确认Android Publisher API已启用
    登录Google云控制台,搜索「Android Publisher API」,确认该API处于已启用状态。如果未启用,即使认证正确也会返回401错误。

内容的提问来源于stack exchange,提问作者DeNasti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 14:30:05