错误 403:未配置访问权限。 API 未出现在 Google Cloud Console 中
Error 403: Access not configured. API does not appear in Google Cloud Console
我在 java 中创建了一个 Google 云端点 API:
@Api(name = "myAPI",
version = "v1",
namespace = @ApiNamespace(ownerDomain = "endpoints",
ownerName = "endpoints",
packagePath=""))
public class MyEndpoint {
/** Déclaration de la méthode */
@ApiMethod(
name = "getPeople",
path = "getPeople/{name}",
httpMethod = HttpMethod.GET)
public People getPeople(@Named("name") String name) {
People pers = ObjectifyDAO.getByKey(People.class, name);
return pers;
}
API 出现在 API 资源管理器 https://apis-explorer.appspot.com/apis-explorer/?base=https://myapp.appspot.com/_ah/api#p/ 但它没有出现在 google 云控制台 api 仪表板
https://console.cloud.google.com/apis/dashboard?project=myproject&duration=PT1H
当我使用以下代码发出请求时:
var init = function() {
var rootApi = 'https://myapp.appspot.com/_ah/api/';
var apiKey = "qsfqfdsqzM8TICqjJR29BcXWfLTvradadcqsd";
gapi.client.setApiKey(apiKey);
gapi.client.load('myAPI', 'v1', function() {
console.log("myAPI api loaded");
gapi.client.myAPI.getPeople({name:"Buddha"}).execute(function(resp) {
console.log(resp);
});
}, rootApi);
// Appeler l'api todos
}
我得到"Access Not Configured. has not been used in project 123456 before or it is disabled. Enable it by visiting the google cloud console then retry."
但在 google 云控制台 api 仪表板上,除了本机 Google API 之外什么也没有出现。
关于如何启用它或解决这个问题有什么想法吗?
您使用 Endpoints Frameworks
吗?如果使用,您使用 deployed your API configuration 吗?
这次我严格按照 google 教程使用了 maven,并且 100% 没有使用 Eclipse 并让它工作。这是我执行的步骤:
- 安装maven
- 为项目创建一个空文件夹
- 添加 src/main/ 包含 java 文件夹和 webapps 的文件夹如下 https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/appengine-java8/endpoints-v2-backend/src/main
- 添加一个 pom.xml 文件到根文件夹,内容如下 https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/appengine-java8/endpoints-v2-backend/pom.xml
- 在根文件夹中打开一个终端 运行 这些命令按顺序:
- mvn 清理包
- 运行 mvn endpoints-framework:openApiDocs
- gcloud 端点服务部署 target/openapi-docs/openapi.json
- mvn appengine:deploy
我在 java 中创建了一个 Google 云端点 API:
@Api(name = "myAPI",
version = "v1",
namespace = @ApiNamespace(ownerDomain = "endpoints",
ownerName = "endpoints",
packagePath=""))
public class MyEndpoint {
/** Déclaration de la méthode */
@ApiMethod(
name = "getPeople",
path = "getPeople/{name}",
httpMethod = HttpMethod.GET)
public People getPeople(@Named("name") String name) {
People pers = ObjectifyDAO.getByKey(People.class, name);
return pers;
}
API 出现在 API 资源管理器 https://apis-explorer.appspot.com/apis-explorer/?base=https://myapp.appspot.com/_ah/api#p/ 但它没有出现在 google 云控制台 api 仪表板 https://console.cloud.google.com/apis/dashboard?project=myproject&duration=PT1H
当我使用以下代码发出请求时:
var init = function() {
var rootApi = 'https://myapp.appspot.com/_ah/api/';
var apiKey = "qsfqfdsqzM8TICqjJR29BcXWfLTvradadcqsd";
gapi.client.setApiKey(apiKey);
gapi.client.load('myAPI', 'v1', function() {
console.log("myAPI api loaded");
gapi.client.myAPI.getPeople({name:"Buddha"}).execute(function(resp) {
console.log(resp);
});
}, rootApi);
// Appeler l'api todos
}
我得到"Access Not Configured. has not been used in project 123456 before or it is disabled. Enable it by visiting the google cloud console then retry."
但在 google 云控制台 api 仪表板上,除了本机 Google API 之外什么也没有出现。
关于如何启用它或解决这个问题有什么想法吗?
您使用 Endpoints Frameworks
吗?如果使用,您使用 deployed your API configuration 吗?
这次我严格按照 google 教程使用了 maven,并且 100% 没有使用 Eclipse 并让它工作。这是我执行的步骤:
- 安装maven
- 为项目创建一个空文件夹
- 添加 src/main/ 包含 java 文件夹和 webapps 的文件夹如下 https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/appengine-java8/endpoints-v2-backend/src/main
- 添加一个 pom.xml 文件到根文件夹,内容如下 https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/appengine-java8/endpoints-v2-backend/pom.xml
- 在根文件夹中打开一个终端 运行 这些命令按顺序:
- mvn 清理包
- 运行 mvn endpoints-framework:openApiDocs
- gcloud 端点服务部署 target/openapi-docs/openapi.json
- mvn appengine:deploy