【问题标题】:Best way to use third-party APIs with many domains在多个域中使用第三方 API 的最佳方式
【发布时间】:2014-08-16 05:44:26
【问题描述】:

我们在自己的域上销售产品即服务,并将其出售给其他人以在他们自己的域上转售。 (我们还有一个系统,其中内置了大量域,并且相对定期添加更多域)

大多数第三方 API 似乎都需要可以获取数据的“授权网址”。这变得越来越不可能,尤其是某些编程接口限制每个帐户 5 或 10 个左右的域。

是否有任何好的方法可以获取不断增长的域名列表中的 API 数据?我曾考虑在 xhynk.com/DOMAIN 上缓存数据,然后将“xhynk.com”添加到每个 API,但我觉得这不是最好的方法。

我还有其他选择吗?

【问题讨论】:

  • 我不确定我是否理解问题所在。为什么越来越不可能了?在我看来,您应该只拥有一个 Apache 虚拟主机,其别名与您拥有的经销商一样多。 5-10 个域/帐户限制是什么?
  • 假设我想为系统创建一个 facebook 应用程序。它允许我只附加几个域。因此,如果我有 100 个不同的域,我需要每隔几个域创建一个新应用。
  • 为什么需要“每隔几个域创建一个应用程序”?为什么不创建一个涵盖所有用户/经销商的应用程序,并将所有域别名到一个虚拟主机?您可以执行内部逻辑来检测他们在您的应用中是哪个经销商。
  • “它允许我只连接几个域” - 这里的“它”是什么 - Facebook? (我认为这里的混淆是,您的意思是域限制是在您的服务器上还是在一般的远程 API 上,例如 Facebook)。
  • 它们需要单独安装软件。我们不能只在“mysite.com”上显示系统并让 Joe 以别名(或停放在)mysite.com 上登录“joesite.com”。

标签: javascript php html api caching


【解决方案1】:

我不完全确定,但由于您在 PHP 下发布它,您可能会用另一种语言创建您需要作为可执行文件的代码。然后只需运行该文件并重定向其输出(如果需要)。

请注意运行 PHP 的帐户的权限。对于编码,您可以使用 C++ 或 C#(如果您使用的是 Linux,则为 Mono)、Basic 或任何可以创建可执行文件的语言。您可能会觉得使用其他语言的限制较少。

你可能不在 Windows 上,但因为我是:

<?php
 $FileList=`dir c:\*.* /w`; // A windows or a UNIX command; notice marks direction
  print "<br> $FileList <br>";
?>

对于 Windows,可以创建一些 Windows 可以执行的东西并将其放置在与 dir.exe 相同的位置;还有其他可能的结构,但我只是保持简单。

您可以将 PHP 与 Python、Perl 或 Ruby 结合使用,以扩展服务器上的编码可能性。至于 JavaScript,它是客户端代码,通常是客户端服务器交互的限制(超时等)。服务器端代码也以与客户端代码不同的权限运行。那么更多的事情可能是可能的。

【讨论】:

  • 我不完全确定这是对问题的回答。我很欣赏这个问题不是很清楚,但我认为 OP 正在寻找一种架构方法来在许多域上运行他们的 API(并且可能允许其他域也可以访问它们,也许是通过引荐来源 - 不确定)。我不认为切换语言会有帮助。
  • 可能他的客户端方法超时(他写的东西越来越大),一些 c++ / c# 代码可能比 javascript 更复杂、运行更快(他也发布了这个)。你可能是对的,他达到了一些设计极限。 (但他处于那种情况,并且可能无法改变)在例如 c# 或 c++ 中,一个人可以针对多任务威胁启动一些复杂的东西,并快速返回答案。我不认为 php 可以做到这一点。但至于示例,我尝试通过一些开箱即用的想法使其尽可能简单,因此我使用了可执行示例 Dir C:*.* /w
  • 啊,你说的是后台任务。是的,PHP 可以做到这一点;但是,我不确定这是 OP 所问的问题。我认为这本质上是一个 Apache/vhost 问题,但是 OP 并不知道一个 API 应用程序可以根据需要为多个域提供服务,同时对不同的调用者显示为几个独立的系统。
  • 我没有托管 API,我有一个运行良好的唯一 API。我正在尝试将其他 API(Google、Facebook、Vendasta、R.C.C 等)包含在我的系统中。那些系统将我限制为每个帐户(即 FB)约 5-10 个域。我需要我的数百个域能够从他们的 API 中拖动信息,而无需为 每个 域创建帐户。
  • 不一定只是“从中拖动信息”,他们需要能够与之交互。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
相关资源
最近更新 更多