使用102号的RESAS-API在Docker中运行
在Ruby编程语言中使用RESAS-API获取旅游资源的位置信息(纬度和经度)。
链接:https://qiita.com/niwasawa/items/608bbac1fbef3e086210
$ docker run -v /Users/administrator/Downloads/ruby:/tmp/ruby -p 8080:8080 -it ruby /bin/bash
# apt update; apt -y upgrade
# apt install -y vim wget apt-utils sudo
# vi resas.rb
# ruby resas.rb
{"statusCode"=>"403", "message"=>"Forbidden.", "description"=>""}
Traceback (most recent call last):
resas.rb:34:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)
市区町村列表
https://opendata.resas-portal.go.jp/docs/api/v1/cities.html
获取api/v1/cities
| 都道府県 | 市町村 | 支庁市郡 | 区町村 | ふりがな | 変更 |
|:–|:–|:–|:–|:–|:–|:–|:–|:–|
| 23 | 100 | 名古屋市 | | なごやし | | | 政令指定都市 |
| 23 | 101 | 千種区 | ちくさく |
| 23 | 102 | 東区 | ひがしく |
| 23 | 103 | 北区 | きたく |
| 23 | 104 | 西区 | にしく |
| 23 | 105 | 中村区 | なかむらく |
| 23 | 106 | 中区 | なかく |
| 23 | 107 | 昭和区 | しょうわく |
| 23 | 108 | 瑞穂区 | みずほく |
| 23 | 109 | 熱田区 | あつたく |
| 23 | 110 | 中川区 | なかがわく |
| 23 | 111 | 港区 | みなとく |
| 23 | 112 | 南区 | みなみく |
| 23 | 113 | 守山区 | もりやまく |
| 23 | 114 | 緑区 | みどりく |
| 23 | 115 | 名東区 | めいとうく | 1975.0201 | 分離 | ←千種区,昭和区 |
| 23 | 116 | 天白区 | てんぱくく | 1975.0201 | 分離 | ←昭和区 |
| 都道府県 | 市町村 | 支庁市郡 | 区町村 | ふりがな | 変更 |
|:–|:–|:–|:–|:–|:–|:–|:–|:–|
| 23 | 100 | 名古屋市 | | なごやし | | | 政令指定都市 |
| 23 | 101 | 千種区 | ちくさく |
| 23 | 102 | 東区 | ひがしく |
| 23 | 103 | 北区 | きたく |
| 23 | 104 | 西区 | にしく |
| 23 | 105 | 中村区 | なかむらく |
| 23 | 106 | 中区 | なかく |
| 23 | 107 | 昭和区 | しょうわく |
| 23 | 108 | 瑞穂区 | みずほく |
| 23 | 109 | 熱田区 | あつたく |
| 23 | 110 | 中川区 | なかがわく |
| 23 | 111 | 港区 | みなとく |
| 23 | 112 | 南区 | みなみく |
| 23 | 113 | 守山区 | もりやまく |
| 23 | 114 | 緑区 | みどりく |
| 23 | 115 | 名東区 | めいとうく | 1975.0201 | 分離 | ← 千種区,昭和区 |
| 23 | 116 | 天白区 | てんぱくく | 1975.0201 | 分離 | ← 昭和区 |
require 'net/http'
require 'uri'
require 'json'
def get(url, params, headers)
if params != nil && !params.empty?
url += '?' + URI.encode_www_form(params)
end
uri = URI.parse(url)
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
req = Net::HTTP::Get.new(uri.request_uri, headers)
res = https.request(req)
json = res.body
return JSON.parse(json)
end
url = 'https://opendata.resas-portal.go.jp/api/v1/tourism/attractions'
params = {
'prefCode' => '23',
'cityCode' => '100',
}
headers = {
'X-API-KEY' => 'id'
}
data = get(url, params, headers)
puts data
data['result']['data'].each do |v|
puts "#{v['resourceName']}: #{v['lat']},#{v['lng']}"
end
# ruby resas.rb
400
Traceback (most recent call last):
resas.rb:34:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)
将其保存在Docker Hub中。
docker run -v /Users/administrator/Downloads/ruby:/tmp/ruby -p 8080:8080 -it kaizenjapan/ruby_resas /bin/bash
文書履歴 – document history
版本0.01 初稿 20191213
版本0.02 增加內容 20191214
版本0.03 標題增加內容 20200101
感谢您一直阅读到最后。
喜欢,?,请关注。
非常感谢您阅读到最后一句话。
请点击喜欢的图标 ? 并关注我,迎接您快乐的生活。