我正在使用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示例代码?我有什么想法吗?
答案 0 :(得分:0)
如果API资源管理器也无法正常工作,则表示您指定的项目ID代替{my-app-id}不正确。它应该是一个已经创建的项目。访问https://console.developers.google.com/home/dashboard?project={my-app-id}并确保获得项目的信息中心。如果没有,那么这将确认项目ID不正确。