Google PubSub无法创建新主题

时间:2015-11-26 04:22:02

标签: google-app-engine google-api-php-client google-cloud-pubsub

我正在使用PHP API客户端库的v1-master分支: https://github.com/google/google-api-php-client/blob/v1-master/src/Google/Service/Pubsub.php

我确定我的所有OAuth都是正确的,所以假设已经正确创建了$ client ...同时{my-app-id}被替换为我的真实应用程序ID

$pubsub = new Google_Service_Pubsub($client);
$new_topic = new Google_Service_Pubsub_Topic();
$new_topic->setName('projects/{my-app-id}/topics/mytopic');
$topic = $pubsub->topics->create($new_topic);

这引发了一个例外:

exception: Google_Service_Exception Object
(
    [errors:protected] => Array
        (
            [0] => Array
                (
                    [domain] => global
                    [reason] => invalidArgument
                    [message] => Invalid resource name given (name=projects/{my-app-id}/topics/mytopic). Refer to https://cloud.google.com/pubsub/overview#names for more information.
                )

        )

{my-app-id}只是字母az,所以它有效且符合pubsub概述上的所有条件,我确实拥有该项目的权利,因为如果我更改{my-app-id}值,我得到一条许可被拒绝的消息。

我也经历了API Explorer并得到了类似的破解结果:

REQUEST:

PUT https://pubsub.googleapis.com/v1/projects/{my-app-id}/topics/mytopic?key={YOUR_API_KEY}

{
}

响应:

404 OK

- Show headers -

{
 "error": {
  "code": 404,
  "message": "Requested entity was not found.",
  "status": "NOT_FOUND"
 }
}

我还尝试使用API​​客户端的主分支并将端点更改为pubsub.googleapis.com/v1端点而不是www.googleapis.com/pubsub/v1beta1 ...我甚至尝试过v1beta2。没有什么工作。

为我的项目启用了PubSub API,但我无法创建任何主题。

有没有人有使用PubSub服务的工作应用程序的PHP示例代码?我有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果API资源管理器也无法正常工作,则表示您指定的项目ID代替{my-app-id}不正确。它应该是一个已经创建的项目。访问https://console.developers.google.com/home/dashboard?project={my-app-id}并确保获得项目的信息中心。如果没有,那么这将确认项目ID不正确。