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

使用JSON凭证文件连接Google PubSub并实现消息发布时遇权限拒绝问题求助

使用JSON凭证文件连接Google PubSub并实现消息发布时遇权限拒绝问题求助

大家好,我最近在做一个功能,需要用从Secret Manager拿到的JSON凭证文件,实现向Google PubSub发布消息的功能,但是调用PublishAsync的时候一直抛出Permission denied错误,折腾了好一阵没搞定,想请各位帮忙看看问题出在哪。

我的代码如下:

public async Task PublisMessage(ApiRequestHeaders MetaData, PubSubRequest pubSubModel)
{
    string jsonPath = Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS");
    GoogleCredential googleCredential = null;

    using (var jsonStream = new FileStream(jsonPath, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        googleCredential = GoogleCredential.FromStream(jsonStream);
    }

    var createSettings = new PublisherClient.ClientCreationSettings(credentials: googleCredential.ToChannelCredentials());
    TopicName topicName = new TopicName(pubSubModel.ProjectId, pubSubModel.TopicName);

    try
    {
        PublisherClient _publisher = await PublisherClient.CreateAsync(topicName, clientCreationSettings: createSettings);
        var _message = await GetPublisMessage(pubSubModel.DocumentId, MetaData);
        var acknowledgmentNumber = await _publisher.PublishAsync(_message); //Permission denied error
        return true;
    }
    catch (Exception ex)
    {
        _logger.Error("PushMessageToPubsub  Error : " + ex);
        return false;
    }
}

目前我已经确认环境变量是正确配置的,文件也能正常读取,但就是卡在发布这一步报权限拒绝。有没有大佬能给点排查方向或者解决方案?

备注:内容来源于stack exchange,提问作者user3411731

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:44:34