【问题标题】:Set up Google Cloud Datastore with PHP runtime使用 PHP 运行时设置 Google Cloud Datastore
【发布时间】:2014-09-17 17:37:01
【问题描述】:

我正在使用 App Engine 和 PHP 运行时和 Google Cloud Datastore 开发应用程序的后端。
我已经为 App Engine 设置了本地开发,并且正在为本地 Datastore 使用 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 行更改内容类型,但似乎没有任何效果。
关于如何解决这个问题的任何想法?

【问题讨论】:

标签: php google-app-engine google-cloud-datastore


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-07-11
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2017-01-16
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多