Javascript Zendesk`app.js`是否使用完整URL调用外部API?

Javascript Zendesk`app.js`是否使用完整URL调用外部API?,javascript,api,zendesk-app,Javascript,Api,Zendesk App,我对创建Zendesk应用程序和遵循入门指南还不熟悉 简言之 I无法将外部API的URL传递给Zendesk的app.js文件中的AJAX调用语法。我的简单Zendesk应用程序代码可以下载 例如 当我们将下面的URL传递给请求时 https://api.hubapi.com/contacts/v1/contact/email/namgivu@gmail.com/profile?hapikey=demo Zendesk app.js将调用 https://namgivu.zendesk.com

我对创建Zendesk应用程序和遵循入门指南还不熟悉

简言之 I无法将外部API的URL传递给Zendesk的
app.js
文件中的AJAX调用语法。我的简单Zendesk应用程序代码可以下载

例如

当我们将下面的URL传递给
请求时

https://api.hubapi.com/contacts/v1/contact/email/namgivu@gmail.com/profile?hapikey=demo
Zendesk app.js将调用

https://namgivu.zendesk.com/proxy/to/https%3A%2F%2Fapi.hubapi.com%2F   contacts%2Fv1%2Fcontact%2Femail%2Fnamgivu%40gmail.com%2Fprofile%3Fhapikey%3Ddemo
i、 e.后缀
https://namgivu.zendesk.com/proxy/to/
自动添加到URL,使其成为参数而不是完整的URL请求

详细地 我可以成功地调用Zendesk API方法,例如
'/API/v2/users/4829450618.json'
。虽然我不能调用外部API,例如Hubspot API

peseudo上下文如下所示

让我们以示例
app.js
的上下文为例,如下所示

  • 只需通过
    'app.activated':'myStart'
  • 然后在不同的情况下调用AJAX请求this.AJAX('myAJAXCall')
  • :1)内部Zendesk API、2a)目标Hubspot API调用、2b)简化外部API调用和2c)简单测试调用 我们可以看到,在#2b和#2c的情况下,Zendesk会自动将URL前缀添加到我们的URL参数中,这不是我们想要的,也就是说,我们希望将AJAX调用发送到我们设置的完整URL

    所以我的问题是,如何在Zendesk应用程序代码中从
    app.js
    调用外部API方法


    令人惊讶的是,感谢Zendesk支持团队,当调用为
    cors:false时,出现了一个小AJAX参数


    令人惊讶的是,感谢Zendesk支持团队,当调用为
    cors:false时,有一小段AJAX参数

    (function() {
    
        return {
            events: {
                'app.activated': 'myStart',     
           },
    
            myStart: function() {
                this.ajax('myAJAXCall').then(
                    //succeeded handler
                    function(data) {
                        this.switchTo('someView', data);
                    },
    
                    //failed handler
                    function() {
                        this.switchTo('errorView');
                    }
                );
            },
    
            requests: {
                myAJAXCall: function() {
                    return {
                        url: '/api/v2/users/4829450618.json', //case 1 - internal Zendesk api call
    
                        url: 'https://api.hubapi.com/contacts/v1/contact/email/'+email+'/profile?hapikey=' + this.hubspotAPIKey, //case 2a - target Hubspot api call
                        url: 'http://someDomain.com/abb', //case 2b - simplified `external api` call
                        url: 'abb',  //case 2c - simplified `external api` call
    
                        type: 'GET',
                        dataType: 'json',
                    };
                }, 
            },        
        };
    
    }());