2013-04-30 48 views
2

我试图创建从我公司的Harvest账户统计显示一个非常基本的有点骨气的应用程序。他们有一个REST API,通过基本身份验证或oAuth进行身份验证。我似乎面临着两个问题在这里:我如何验证和使用与骨干外部API?

  • 认证
  • 跨域请求

所以,我开始为我收集设置的URL相应的网址:

var Projects = Backbone.Collection.extend({ 
    url: 'https://mycompany.harvestapp.com/projects', 
}); 

而且我使用this basic auth plugin尝试,但如果这部分工作,因为我仍然获得访问控制允许来源的错误,我不能告诉。

什么是去了解它的最好方法?

回答

2

This other StackOverflow question是相似的,有你应该看看更多细节。

但一般的想法是,如果你没有访问远程服务器(我认为你没有收获),那么你需要从你自己的服务器执行跨站点请求,你控制,最有可能是你正在部署这个骨干应用的人。这意味着写一些服务器端代码(PHP,节点等)来执行请求(完全从服务器端合法的),然后让你的客户(骨干网应用程序)从这些脚本的请求。

下面是一个简要/假性例如用PHP:

request.php

<?php 
    echo file_get_contents('https://mycompany.harvestapp.com/projects'); 
?> 

projects.js

var Projects = Backbone.Collection.extend({ 
    url: 'request.php', 
}); 
+0

有道理。我没有写任何服务器端的代码,但但它可能会是节点。谢谢! – user1807510 2013-05-01 15:09:02