質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Zendesk

Zendeskは、カスタマーサービスのクラウド型ソフトウェア。サイトやメール、電話の他、TwitterやFacebookなど様々なチャネルを一元化して対応することが可能です。様々なデバイスに対応しており、多くのビジネスツールとの連携もできます。

Q&A

解決済

1回答

2100閲覧

Rails gem zendesk_api でデータ取得の際に「zendesk_api is ssl only; url must begin with https://」エラー

KeisukeTaniai

総合スコア16

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Zendesk

Zendeskは、カスタマーサービスのクラウド型ソフトウェア。サイトやメール、電話の他、TwitterやFacebookなど様々なチャネルを一元化して対応することが可能です。様々なデバイスに対応しており、多くのビジネスツールとの連携もできます。

0グッド

0クリップ

投稿2017/03/21 16:00

編集2017/03/21 16:06

zendesk_apiの利用に際し、分からないことがあるので、質問させて頂きます。

環境
Rails 4.2.5
ruby 2.3.0

RalisからzendeskのAPIを利用するプロジェクトで、gem zendesk_api使っているのですが、
データを取得しようとする際に
「zendesk_api is ssl only; url must begin with https://」
のエラーが出てしまいます。

ArgumentError: zendesk_api is ssl only; url must begin with https:// /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/zendesk_api-1.14.2/lib/zendesk_api/client.rb:188:in `check_url' /Usersmy_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/zendesk_api-1.14.2/lib/zendesk_api/client.rb:91:in `initialize' /Users/my_com/projects/anny-magazine/config/initializers/zendesk.rb:3:in `new' /Users/my_com/projects/anny-magazine/config/initializers/zendesk.rb:3:in `<top (required)>' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `block in load' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:652:in `block in load_config_initializer' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/notifications.rb:166:in `instrument' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:651:in `load_config_initializer' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:615:in `each' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:615:in `block in <class:Engine>' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:421:in `block in each_strongly_connected_component_from' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:44:in `each' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:44:in `tsort_each_child' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:415:in `call' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:415:in `each_strongly_connected_component_from' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `call' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/initializable.rb:54:in `run_initializers' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/application.rb:352:in `initialize!' /Users/my_com/projects/anny-magazine/config/environment.rb:5:in `<top (required)>' /Users/my_com/projects/anny-magazine/config.ru:3:in `require' /Users/my_com/projects/anny-magazine/config.ru:3:in `block in <main>' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize' /Users/my_com/projects/anny-magazine/config.ru:1:in `new' /Users/my_com/projects/anny-magazine/config.ru:1:in `<main>' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/rack/adapter/loader.rb:33:in `eval' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/rack/adapter/loader.rb:33:in `load' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/rack/adapter/loader.rb:42:in `for' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/thin/controllers/controller.rb:170:in `load_adapter' /Users/cmy_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/thin/controllers/controller.rb:74:in `start' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/thin/runner.rb:200:in `run_command' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/lib/thin/runner.rb:156:in `run!' /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thin-1.7.0/bin/thin:6:in `<top (required)>' /Users/my_com/.rbenv/versions/2.3.0/bin/thin:23:in `load' /Users/my_com/.rbenv/versions/2.3.0/bin/thin:23:in `<top (required)>'

設定ファイルは、公式Githubリポジトリに基いて、
zendesk/zendesk_api_client_rb

app/config/initializers

ruby

1require 'zendesk_api' 2 3client = ZendeskAPI::Client.new do |config| 4 # Mandatory: 5 6 config.url = "<- your-zendesk-url ->" # e.g. https://mydesk.zendesk.com/api/v2 7 8 # Basic / Token Authentication 9 config.username = "login.email@zendesk.com" 10 11 # Choose one of the following depending on your authentication choice 12 config.token = "your zendesk token" 13 config.password = "your zendesk password" 14 15 # OAuth Authentication 16 config.access_token = "your OAuth access token" 17 18 # Optional: 19 20 # Retry uses middleware to notify the user 21 # when hitting the rate limit, sleep automatically, 22 # then retry the request. 23 config.retry = true 24 25 # Logger prints to STDERR by default, to e.g. print to stdout: 26 require 'logger' 27 config.logger = Logger.new(STDOUT) 28 29 # Changes Faraday adapter 30 # config.adapter = :patron 31 32 # Merged with the default client options hash 33 # config.client_options = { :ssl => false } 34 35 # When getting the error 'hostname does not match the server certificate' 36 # use the API at https://yoursubdomain.zendesk.com/api/v2 37end

このように設定しております。

また、設定ファイルは
config/settings/development.yml
に全て記載しております。

railsサーバーを立ち上げる際は、

bundle exec thin start --ssl -p 3001

を利用して、localでもhttpsで立ち上げをしようとするのですが、

bundle exec thin start --ssl -p 3001 Using rack adapter bundler: failed to load command: thin (/Users/mycon/.rbenv/versions/2.3.0/bin/thin)

のエラーが出て、上手く立ち上がりません。

ちなみに、zendeskのファイルが無ければ、上記のコマンドで上手くサーバーは立ち上がります。

かなりの手をつくしたのですが、お手上げ状態です。
大変恐縮ですが、お分かりになる方、ご助言いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

プログラムのこの部分に

config.url = "<- your-zendesk-url ->"

httpsからはじまるapiのURLは設定しているのでしょうか?

投稿2017/03/22 02:11

redara

総合スコア344

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KeisukeTaniai

2017/03/23 14:11 編集

回答ありがとうございます。 はい、https://[mycompany].zendesk.com/api/v2 のURLが入っております。
redara

2017/03/22 06:12

あまり参考にならない回答かもしれませんが、 https://github.com/zendesk/zendesk_api_client_rb/issues/244 こちらの方も同じエラーを出していますが、 設定時の記述をする際 config.url を config_url と間違えていたため出ていたようです。 それから https://[mycampany].zendesk.com/api/v2 こちらのURLが存在するか、アクセス制限などされていないかなどが気になります。
redara

2017/03/22 06:18

またエラーに表示されていますが、 /Users/my_com/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/zendesk_api-1.14.2/lib/zendesk_api/client.rb:188:in `check_url' この箇所でURLのチェックを行ってると思うので、デバッグを行って、どのようなURLが渡って来ていて、どのようなチェックをしているのか確認してみても良いと思います。
KeisukeTaniai

2017/03/23 14:15 編集

ご回答ありがとうございます。 > こちらの方も同じエラーを出していますが、 設定時の記述をする際 config.url を config_url と間違えていたため出ていたようです。 こちらは私も記事を読みましたが、問題なく設定されているようです。 > https://[mycampany].zendesk.com/api/v2 こちらのURLが存在するか、アクセス制限などされていないかなどが気になります。 設定の方法はこちらに従っていて、フォーマットをあわせているのですが、 [https://github.com/zendesk/zendesk_api_client_rb/wiki/Configuration] 実際にアクセスできるURLではないので、こちらを疑ってみようと思います。
KeisukeTaniai

2017/03/23 14:21

ありがとうございます。 環境変数で置いていたURLが上手く読み込めていなかったのが原因でした。 設定し直した所、エラーを回避することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問