🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

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

Ruby on Rails

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

解決済

1回答

1923閲覧

slack認証で失敗する(rails)

k10a

総合スコア35

Ruby

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

Ruby on Rails

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

0クリップ

投稿2019/10/15 08:14

ご閲覧いただきましてありがとうございます。

アプリケーションに登録しているユーザーがSlack認証をすることで、各ユーザーが指定したチームに向けて通知を飛ばせる機能を加えたいと考えています。

現在、下記のエラーで困っています。

OAuth Error: Invalid client_id parameter

URLはこちらです。

https://slack.com/oauth/authorize?client_id=XXXXXXXXXXX&scope=bot%2Cusers%3Aread.email%2Ccommands%2Cusers%3Aread&state=XXXXXXXXXXXXX&tracked=1

最初に、omniauth_slackのgemを使っていたときも同じエラーが出ており困っています。。
client_idは登録したSlackアプリのもので問題ありません。

ソースコード

app/views/home/index.html.erb

Ruby

1<%= link_to "Sign in with Slack", slack_activate_path %>

app/controllers/slack_controller.rb

Ruby

1class SlackController < ApplicationController 2 def activate 3 oauth_state = "XXXXXXXXXXXXX" 4 uri = URI('https://slack.com/oauth/authorize') 5 uri.query = { 6 client_id: Rails.application.credentials[:slack][:client_id], 7 scope: 'bot,users:read.email,commands,users:read', 8 state: oauth_state, 9 }.to_query 10 11 redirect_to uri.to_s 12 end 13 14 def callback 15 end 16end

oauth_stateは任意という認識です。

config/routes.eb

Ruby

1Rails.application.routes.draw do 2 root 'home#index' 3 4 match '/slack/activate', to: 'slack#activate', via: 'get' 5 match '/slack/callback', to: 'slack#callback', via: 'get' 6 7 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 8end

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

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

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

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

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

guest

回答1

0

自己解決

client_idが正しく設定されていませんでした。
すみません。

投稿2019/10/15 21:05

k10a

総合スコア35

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問