.NET 中的 Salesforce Pub/Sub 客户端

Coo*_*t75 5 .net c# salesforce publish-subscribe grpc

我想订阅 Salesforce 平台活动。我正在尝试在 C#/.NET 中为 Salesforce Pub/Sub API 创建客户端。有其他语言的示例,但 .NET 中没有: https: //github.com/developerforce/pub-sub-api

我正在使用 Grpc.Net.Client nuget 包。

            var topicName = "/event/SomeEvent__e";
            var pubSubEndpoint = "https://api.pubsub.salesforce.com:7443";
            var accessToken = "xxxx";
            var organisationId = "xxxx";
            var instanceUrl = "https://xxxxx.sandbox.my.salesforce.com";

            var credentials = CallCredentials.FromInterceptor((c, m) =>
            {
                m.Add("accesstoken", accessToken);
                m.Add("instanceurl", instanceUrl);
                m.Add("tenantid", organisationId);
                return Task.CompletedTask;
            });

            var options = new GrpcChannelOptions
            {
                Credentials = ChannelCredentials.Create(new SslCredentials(), credentials)
            };

            var channel = GrpcChannel.ForAddress(pubSubEndpoint, options);
            var client = new PubSub.PubSubClient(channel);

            var topicRequest = new TopicRequest()
            {
                TopicName = topicName
            };
            var topic = client.GetTopic(topicRequest);
Run Code Online (Sandbox Code Playgroud)

我知道我的凭据是正确的,因为我可以使用邮递员访问 oauth2 端点并获取有效的访问令牌。但是当我尝试调用 client.GetTopic 这样的客户端方法时,我收到以下错误。

Status(StatusCode="PermissionDenied", Detail="获取组织 CORE/prod/00DN0000000c8Hk 和主题 /event/SomeEvent__e 的元数据时发生错误。确保凭据和主题名称正确。rpcId: 21d854fb-17dc-4778-9524 -6264bd1a920d")

我是否设置了凭据对象错误?我找不到在 .NET 中订阅 Salesforce Pub/Sub 的任何示例。