目次一覧
Q1.「Twitter API」で登録するアプリケーションは、どういう単位? 「Callback URL」毎に異なる?
Q2.TwitterAPIで、authenticate結果URLにoauth_verifierが付与されていないのはなぜ?
Q3.既存のトークンをコピペで使い回していたら、4つ目のアプリでエラー発生{"errors":[{"code":89,"message":"Invalid or expired token."}]}
Q4.「Twitter API」で「アプリ連携」の「許可を取り消す」ボタンを押すと、具体的にどんな処理が実行されるのでしょうか?
Q5.Twitter API で「連携アプリを認証」するユーザとは誰のこと? アプリで「連携アプリを認証」するとどうなるの?
Q6.Twitter APIで複数アカウントを作成してはだめ?
Q7.OAuth 2.0のbearer token は毎回取得しなくても良い?
Q8.既存のWebサイトに、Twitterなどのソーシャルログインを追加する際、DBへ格納すべき内容について
Q2.TwitterAPIで、authenticate結果URLにoauth_verifierが付与されていないのはなぜ?
Q3.既存のトークンをコピペで使い回していたら、4つ目のアプリでエラー発生{"errors":[{"code":89,"message":"Invalid or expired token."}]}
Q4.「Twitter API」で「アプリ連携」の「許可を取り消す」ボタンを押すと、具体的にどんな処理が実行されるのでしょうか?
Q5.Twitter API で「連携アプリを認証」するユーザとは誰のこと? アプリで「連携アプリを認証」するとどうなるの?
Q6.Twitter APIで複数アカウントを作成してはだめ?
Q7.OAuth 2.0のbearer token は毎回取得しなくても良い?
Q8.既存のWebサイトに、Twitterなどのソーシャルログインを追加する際、DBへ格納すべき内容について
Q1.「Twitter API」で登録するアプリケーションは、どういう単位? 「Callback URL」毎に異なる?
Q2.TwitterAPIで、authenticate結果URLにoauth_verifierが付与されていないのはなぜ?
Q
認証画面で、ユーザがアプリ連携ボタンを押したら、
URLにoauth_verifierが付与されると思ったのですが、
GET oauth/authenticate の「Example Result」を見ると、oauth_tokenしか付与されていません。
・どうしてでしょうか?
・oauth_verifier はどこで取得するのでしょうか?
・もしかして、authenticateではなくて、GET oauth/authorizeで取得???
URLにoauth_verifierが付与されると思ったのですが、
GET oauth/authenticate の「Example Result」を見ると、oauth_tokenしか付与されていません。
・どうしてでしょうか?
・oauth_verifier はどこで取得するのでしょうか?
・もしかして、authenticateではなくて、GET oauth/authorizeで取得???
A
公式ドキュメントが間違っている
・もしくは最新状態に更新されていない
→ 現状が反映されていない
Q3.既存のトークンをコピペで使い回していたら、4つ目のアプリでエラー発生{"errors":[{"code":89,"message":"Invalid or expired token."}]}
「Twitter API」でエラー発生
{"errors":[{"code":89,"message":"Invalid or expired token."}]}
開発者ページで、アプリを追加登録
・別アプリで正常動作していた「Consumer Key (API Key)など」をそのまま使用していたので、新たに追加登録したアプリの「Consumer Key (API Key)など」を使用したら、正常動作しました
補足
・作成アプリは全部で4つ。「A」「B」「C」「D」
・登録アプリは全部で2つ。「1」「2」
・登録アプリ「1」のキーを、作成「A」「B」「C」「D」で使い回したら、エラー発生
・登録アプリ「1」のキーを、作成「A」「B」「C」で使用、登録アプリ「2」のキーを、作成「D」で使用したら正常動作
質問
・どういうことですか?
・アプリを登録する単位は??? 1つずつ?
・ファイルを設置する毎に、アプリを登録してキーを発行してもらうのでしょうか?
・アプリはどういう単位で登録していくのでしょうか?
Q4.「Twitter API」で「アプリ連携」の「許可を取り消す」ボタンを押すと、具体的にどんな処理が実行されるのでしょうか?
自分のツイート取得
開発者ページにあるキーを使用して、自分のツイートを取得します
・この時点では何の問題もありません
「アプリ連携ページ」で、「アプリ連携」の「許可を取り消す」ボタンを押すと、エラーとなり、自分のツイートを取得できなくなります。
この時、どんな処理が実行されるのでしょうか?
(後で復活させるために、ここでどんな処理が行われるかを知りたい)
https://twitter.com/settings/applications
その後、「アプリ連携」を再び許可するにはどうすれば良いでしょうか?
「許可を取り消す」の取り消し、ボタンはしばらくすると、表示されなくなってしまいます(この表示される期間は仕様で明示されているでしょうか?)
・また、元々、開発者ページにあるキーを使用しているだけなので(認証ページへ飛ばしていない)、一度「許可を取り消す」と、復活出来なくなってしまいます
Q5.Twitter API で「連携アプリを認証」するユーザとは誰のこと? アプリで「連携アプリを認証」するとどうなるの?
Q
Twitter API で「連携アプリを認証」すると、そのアプリケーションが、ユーザのTwitter情報へアクセスできるようになる、と思っていたのですが、必ずしもそういうわけではないのでしょうか?
例えば、開発者が自分のアプリ登録ページからアクセストークンを取得して記述した場合
・何が出来るでしょうか?
・ユーザが「連携アプリを認証」しても、そのアプリでは、開発者のTwitter情報しか取得することが出来ない?
・それ以前の話として、「開発者が自分のアプリ登録ページからアクセストークンを取得して記述した場合」、ユーザが「連携アプリを認証」することはない?
アクセストークンを取得するとどうなる?
・その取得した人のTwitter情報を取得できることになる、ということでしょうか?
・アクセストークンを取得していない人を、次のリクエストの際、パラメータで指定しても情報を取得できない、ということ???
アクセストークンが必要な具体的なケースを教えてください
・データへアクセスするユーザーのアクセストークンを取得?
・それとも、データへアクセスされるユーザーのアクセストークンを取得?
Q6.Twitter APIで複数アカウントを作成してはだめ?
Q
2019/02/23 23:24
Twitter APIで複数アカウントを作成してはだめ?
これから複数サイトでTwitter APIを使用したいのですが、規約違反にならないために、注意すべきことは何ですか?
検索したら「ひとつのアプリのために複数のキー取得」するとよくないと書いてあったのですが、具体的にどういうことですか?
ひとつのアプリとは、ひとつのWebアプリケーションということですか?
・ひとつのWebアプリケーションは何をもってひとつと判断するのですか?
・ドメイン?
・サブドメインが異なれば、異なるアプリですか?
複数のキーとは、何を指しますか?
・APIシークレットキーですか?
・1アカウントにつき、1つAPIシークレットキーが付与される?
・Togetter が凍結された時、内容を理解できませんでした
これから複数サイトでTwitter APIを使用したいのですが、規約違反にならないために、注意すべきことは何ですか?
検索したら「ひとつのアプリのために複数のキー取得」するとよくないと書いてあったのですが、具体的にどういうことですか?
ひとつのアプリとは、ひとつのWebアプリケーションということですか?
・ひとつのWebアプリケーションは何をもってひとつと判断するのですか?
・ドメイン?
・サブドメインが異なれば、異なるアプリですか?
複数のキーとは、何を指しますか?
・APIシークレットキーですか?
・1アカウントにつき、1つAPIシークレットキーが付与される?
・Togetter が凍結された時、内容を理解できませんでした
・Twitter APIで複数アカウントを作成してはだめ?
Q7.OAuth 2.0のbearer token は毎回取得しなくても良い?
Q
2019年3月3日 15:52
Twitterで、bearer token 使用する際、行いたい処理の前に、毎回リクエストを投げて、bearer token を取得していたのですが、
・この値は実質的には固定値のようなものですか?
・毎回取得する必要はない?
・一度取得したものを使いまわせる?
APIキーとAPIシークレットを結合してbase64エンコードしたものを指定URLへ投げるだけなら、
・APIキーとAPIシークレットが同じ場合、毎回同じ結果が返ってくるということですか?
bearer tokenが、「APIキー」や「APIシークレット」のようにTwitterから与えられないのは、
・「APIキー」と「APIシークレット」を使用すれば簡単に求めることができるから?
・それとも、有効期限か何かがあって、毎回取得した方が良い、ということですか?
・この値は実質的には固定値のようなものですか?
・毎回取得する必要はない?
・一度取得したものを使いまわせる?
APIキーとAPIシークレットを結合してbase64エンコードしたものを指定URLへ投げるだけなら、
・APIキーとAPIシークレットが同じ場合、毎回同じ結果が返ってくるということですか?
bearer tokenが、「APIキー」や「APIシークレット」のようにTwitterから与えられないのは、
・「APIキー」と「APIシークレット」を使用すれば簡単に求めることができるから?
・それとも、有効期限か何かがあって、毎回取得した方が良い、ということですか?
Q8.既存のWebサイトに、Twitterなどのソーシャルログインを追加する際、DBへ格納すべき内容について
Q
2019/4/6
現状
・メール認証(アクティベーション)後、メールアドレスをDBへ格納しています
質問1
・Twitter経由でソーシャルログインすること自体は出来たのですが、DBへは何を保存すべきですか?
・Twitterユーザが一意であることを確認するには「id_str」を保存すれば良いですか? 「oauth_token」や「oauth_token_secret」を保存する必要はない??
※Twitter経由でメールアドレスを取得するかどうかは未定です
質問2
・今後、他のソーシャルログインも追加していくと仮定した場合、テーブル構成や条件分岐がどんどん複雑になっていくような気がするのですが、定番とされるやり方みたいなのはあるのでしょうか?
・例えば、1つのuserテーブルに下記内容を保存する感じですか?
・通常のメール認証(アクティベーション)」に必要な情報
・Twitterソーシャルログインに必要な情報
・Googleソーシャルログインに必要な情報
・Facebookソーシャルログインに必要な情報
・メール認証(アクティベーション)後、メールアドレスをDBへ格納しています
質問1
・Twitter経由でソーシャルログインすること自体は出来たのですが、DBへは何を保存すべきですか?
・Twitterユーザが一意であることを確認するには「id_str」を保存すれば良いですか? 「oauth_token」や「oauth_token_secret」を保存する必要はない??
※Twitter経由でメールアドレスを取得するかどうかは未定です
質問2
・今後、他のソーシャルログインも追加していくと仮定した場合、テーブル構成や条件分岐がどんどん複雑になっていくような気がするのですが、定番とされるやり方みたいなのはあるのでしょうか?
・例えば、1つのuserテーブルに下記内容を保存する感じですか?
・通常のメール認証(アクティベーション)」に必要な情報
・Twitterソーシャルログインに必要な情報
・Googleソーシャルログインに必要な情報
・Facebookソーシャルログインに必要な情報