我使用的是Amazon Cloud EC2 DSP 1.8.0。
按照他们关于AngularJS的文档,我就是这样宣布我的常量: -
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services','**ngDreamFactory**'])
.constant('DSP_URL', 'http://***-**-**-***-**.ap-southeast-1.compute.amazonaws.com/')
.constant('DSP_API_KEY', 'sql')
上面的URL是ec2实例地址。
这是我在应用启动时在控制台中遇到的错误:
- GET http://***-**-**-***-**.ap-southeast-1.compute.amazonaws.com/rest/api_docs 403 (Forbidden)
undefined : undefined http://***-**-**-***-**.ap-southeast-1.compute.amazonaws.com/rest/api_docs
上面的错误来了,即使我还没有对DSP发出任何调用,所以我认为它必须是进行此调用的框架。我看到了这个" / rest / api_docs"在作为Angular SDK的一部分添加的JS文件中添加。
只是为了确认我的DSP设置正确并且我的网址是正确的,这是我在浏览器中粘贴时得到的结果:
- http://***-**-**-***-**.ap-southeast-1.compute.amazonaws.com/rest/api_docs?app_name=sql
{
"swaggerVersion":"1.2",
"apiVersion":"1.0",
"authorizations":{
"apiKey": {
"type":"apiKey",
"passAs":"header"
}
},
"info": {
"title":"DreamFactory Live API Documentation",
"description":"",
"contact":"support@dreamfactory.com",
"license":"Apache 2.0",
"licenseUrl":"http://www.apache.org/licenses/LICENSE-2.0.html"},
"events":[
"swagger.cache_cleared",
"swagger.cache_rebuilt"
],
"apis":[
{
"path":"/user",
"description":"User session and profile"
},
{
"path":"/system",
"description":"System configuration"
},
{
"path":"/db",
"description":"Local database access"
},
{
"path":"/email",
"description":"Email utility access"
},
{
"path":"/files",
"description":"Local file storage access"
},
{
"path":"/sql",
"description":"Amazon RDS Sql"
}
]
}
在DSP端: - 1)我已经定义了一个角色,因为"亚马逊RDS"并且已经提供了“sql'”的服务访问权限。这个角色。此外,尝试给予系统访问权限。还是行不通。 2)在Config中的CORS访问中,我在主机中添加了*并选择了所有HTTP动词并启用了相同的功能。 3)检查"允许访客用户"并选择角色"亚马逊RDS"对于访客用户。
所以,当我稍后在我的代码中进行此调用时: - DreamFactory.api.db.getRecords 我收到错误:
- TypeError: Cannot read property 'getRecords' of undefined
因为安装服务本身没有正确实例化。 在这方面的任何帮助都会有所帮助。
答案 0 :(得分:0)
403表示您无权访问该应用。如果您尚未创建应用程序或您的角色无权访问该应用程序,则可能会发生这种情况。有关详细信息,请查看此链接。
http://community.dreamfactory.com/t/unable-to-access-dsp-from-angularjs-mobile-app/478/14