使用PHP运行时设置Google Cloud数据存储


Set up Google Cloud Datastore with PHP runtime

我正在使用带有PHP运行时和谷歌云数据存储的应用程序引擎开发应用程序的后端
我已经为App Engine建立了一个本地开发,我正在使用本地数据存储的gcd工具
当我向在线数据存储发送请求时,它就工作了
不幸的是,当我向本地数据存储发送任何请求时,我在浏览器中收到以下错误:

Fatal error: Uncaught exception 'Google_Service_Exception' with message 'Error calling
POST http://localhost:8081/datastore/v1beta2/datasets/project-id/allocateIds: (400)
unsupported content-type: application/json; charset=UTF-8' in G:'Programs'Google'Cloud 
SDK'project-id'default'Google'Http'REST.php:79 Stack trace: #0 G:'Programs'Google'Cloud   
SDK'project-id'default'Google'Http'REST.php(44): Google_Http_REST::decodeHttpResponse(
Object(Google_Http_Request)) #1 G:'Programs'Google'Cloud SDK'project-id'default'Google
'Client.php(503): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_
Request)) #2 G:'Programs'Google'Cloud SDK'project-id'default'Google'Service'Resource.
php(195): Google_Client->execute(Object(Google_Http_Request)) #3 G:'Programs'Google'
Cloud SDK'project-id'default'Google'Service'Datastore.php(153): Google_Service_
Resource->call('allocateIds', Array, 'Google_Service_...') #4 G:'Programs'Google'Cloud 
SDK'project-id'default'DatastoreService.php in G:'Programs'Google'Cloud SDK'
project-id'default'Google'Http'REST.php on line 79

在gcd中,我得到以下错误:

Sep 17, 2014 8:24:07 PM com.google.apphosting.client.serviceapp.BaseApiServlet doPost
INFO: ApiServlet POST
Sep 17, 2014 8:24:07 PM com.google.apphosting.client.serviceapp.BaseApiServlet doCall
INFO: unsupported content-type: application/json; charset=UTF-8
Sep 17, 2014 8:24:07 PM com.google.apphosting.client.serviceapp.BaseApiServlet 
writeErrorResponse
SEVERE: INVALID_ARGUMENT: unsupported content-type: application/json; charset=UTF-8

我尝试过在Google/Service/Resource.php第171行更改内容类型,但似乎什么都不起作用
你知道我该怎么解决这个问题吗?

不幸的是,Google Cloud Datastore的本地开发服务器(gcd.sh)目前不支持JSON作为传输(PHP客户端库使用JSON)。

解决方法是创建第二个仅用于测试的项目。