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

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

ただいまの
回答率

90.49%

  • Ruby

    7685questions

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

  • Ruby on Rails

    7285questions

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

  • RubyGems

    327questions

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

  • Zendesk

    3questions

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

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 482

KeisukeTaniai

score 10

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

require 'zendesk_api'

client = ZendeskAPI::Client.new do |config|
  # Mandatory:

  config.url = "<- your-zendesk-url ->" # e.g. https://mydesk.zendesk.com/api/v2

  # Basic / Token Authentication
  config.username = "login.email@zendesk.com"

  # Choose one of the following depending on your authentication choice
  config.token = "your zendesk token"
  config.password = "your zendesk password"

  # OAuth Authentication
  config.access_token = "your OAuth access token"

  # Optional:

  # Retry uses middleware to notify the user
  # when hitting the rate limit, sleep automatically,
  # then retry the request.
  config.retry = true

  # Logger prints to STDERR by default, to e.g. print to stdout:
  require 'logger'
  config.logger = Logger.new(STDOUT)

  # Changes Faraday adapter
  # config.adapter = :patron

  # Merged with the default client options hash
  # config.client_options = { :ssl => false }

  # When getting the error 'hostname does not match the server certificate'
  # use the API at https://yoursubdomain.zendesk.com/api/v2
end


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

また、設定ファイルは
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のファイルが無ければ、上記のコマンドで上手くサーバーは立ち上がります。

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

プログラムのこの部分に

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/22 14:26 編集

    回答ありがとうございます。

    はい、https://[mycompany].zendesk.com/api/v2
    のURLが入っております。

    キャンセル

  • 2017/03/22 15:12

    あまり参考にならない回答かもしれませんが、

    https://github.com/zendesk/zendesk_api_client_rb/issues/244

    こちらの方も同じエラーを出していますが、
    設定時の記述をする際 config.url を config_url と間違えていたため出ていたようです。

    それから
    https://[mycampany].zendesk.com/api/v2
    こちらのURLが存在するか、アクセス制限などされていないかなどが気になります。

    キャンセル

  • 2017/03/22 15: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が渡って来ていて、どのようなチェックをしているのか確認してみても良いと思います。

    キャンセル

  • 2017/03/23 23:13 編集

    ご回答ありがとうございます。

    > こちらの方も同じエラーを出していますが、
    設定時の記述をする際 config.url を config_url と間違えていたため出ていたようです。

    こちらは私も記事を読みましたが、問題なく設定されているようです。

    > https://[mycampany].zendesk.com/api/v2
    こちらのURLが存在するか、アクセス制限などされていないかなどが気になります。

    設定の方法はこちらに従っていて、フォーマットをあわせているのですが、
    [https://github.com/zendesk/zendesk_api_client_rb/wiki/Configuration]
    実際にアクセスできるURLではないので、こちらを疑ってみようと思います。

    キャンセル

  • 2017/03/23 23:21

    ありがとうございます。

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

    キャンセル

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

  • ただいまの回答率 90.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Ruby

    7685questions

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

  • Ruby on Rails

    7285questions

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

  • RubyGems

    327questions

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

  • Zendesk

    3questions

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