Gal*_*ing 10 dns ruby-on-rails heroku
我正在创建一个允许用户使用自己域名的应用.我在Rails应用程序中使用什么方法自动注册他们选择的域名?如果他们改变它,我还需要取消注册.
edg*_*ner 16
我已经联系了Heroku同样的事情,他们只是把我指向他们的api,然后说这样就可以了.
我担心没有.我们的API仅由客户代码"记录".
您可能会发现我们的Google群组也有助于从社区成员那里获得建议:http://groups.google.com/group/heroku/
奥伦
这是简单的操作方法:
require 'heroku'
heroku = Heroku::Client.new('heroku_username', 'heroku_password')
heroku.add_domain('heroku_app_name', 'example.com')
heroku.remove_domain('heroku_app_name','example.com')
Run Code Online (Sandbox Code Playgroud)
请参阅api了解更多信息.
当然我建议不要在你的代码中加入明文密码.您可以做的一件好事是使用heroku环境变量从代码中获取密码.
heroku = Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD'])
Run Code Online (Sandbox Code Playgroud)
然后你可以在你的应用程序上设置环境变量
$> heroku config:add HEROKU_USER='heroku_username'
$> heroku config:add HEROKU_PASSWORD='heroku_password'
Run Code Online (Sandbox Code Playgroud)
从命令行.
heroku gem现已被弃用.你应该使用heroku.rb gem.命令略有改变,但基本相同.
require 'heroku-api'
heroku = Heroku::API.new(:api_key => API_KEY) # use API Key
heroku = Heroku::API.new(:username => USERNAME, :password => PASSWORD) # use username and password
heroku = Heroku::API.new(:headers => {'User-Agent' => 'custom'}) # use custom header
heroku.delete_domain('app', 'example.com') # remove the 'example.com' domain from the 'app' app
heroku.get_domains('app') # list configured domains for the 'app' app
heroku.post_domain('app', 'example.com') # add 'example.com' domain to the 'app' app
Run Code Online (Sandbox Code Playgroud)
通常在 Heroku 中添加域的方式是通过以下方式使用 Heroku API:是通过Heroku gem。有一个名为heroku domains:add您可以调用的命令
$ heroku domains:add example.com
Run Code Online (Sandbox Code Playgroud)
正如我之前所说,客户端调用 Heroku API。您可以从库中提取 Heroku 域 API 信息,并创建一个自定义脚本来调用 Heroku API 以在应用程序中添加和删除域。
这是客户端源代码。
笔记。因为您正在进行“逆向工程”并且 API 似乎没有记录,所以您应该请求 Heroku 许可才能这样做,只是为了确保您没有创建违反其 TOS 的内容。