適当給与 |
13 12月 |
前回に引き続きTwitter連携の話。
晴れてTwitterOAuthというライブラリを使えるようになった訳ですが
もちろんこのライブラリにも認証機能があります。
主にこちらのサイトを参考にさせていただきました↓
参考サイト:Twitter OAuth + PHP でログイン処理の実装
ほぼこちらのサイトのソースを流用させていただきながら(汗)
順調に認証できるようになったかと思ったのですが、案の定問題が。
参考サイトにはこう書かれています↓
>>初回は、Twitter認証画面へ飛ばされて、認証済み+2回目以降なら
>>Twitter認証画面から直接Redirectされて callback に指定したURLへ飛ばされるようになります。
つまり、一回認証したアプリはわざわざユーザーが「認証する」のボタンを押さなくても
自動でコールバックURLにリダイレクトしてくれるということ。
ほう。これは便利な機能だな、と思いつつ試してみると・・・飛ばないんですよこれが!(涙)
できれば毎回認証は避けたいのでなんとかしたいです。
getAuthorizeURL()っていう認証ページのURLを生成してくれるメソッド(?)があるのですが
その認証ページが2種類ありまして
https://api.twitter.com/oauth/authorize こちらは毎回認証が必要
https://api.twitter.com/oauth/authenticate こちらは2回目以降を自動省略
ということらしいのです。
getAuthorizeURL()の第一引数に、なんちゃらトークンを渡します(よくわかってない)これはOK。
第二引数を省略する(もしくはTUREを渡す)とauthenticateの方のURLを生成してくれる。とのこと。
うむ。問題無いはず。なんですよ。
生成されたURLを見ても、ちゃんとauthenticateの方になってます。あれ~???
ひととおり悪戦苦闘してみた後、怪しいものを発見しました。
Twitter DevelopersのOAuth settingsの画面です↓
なんか「Sign in with Twitter」という項目が「No」とかなってますね・・・
・・・これじゃね?とか思いながらSettingsタブの「Allow this application to be used to Sign in with Twitter」に
チェックを入れて「Yes」に変更してみたところ・・・ちゃんと自動で飛ぶようになってくれました。
これさ、デフォルトで「No」になってるんですよ。ひどくない?
こんな情報どこにも書いてなかったし!(ちゃんと探せば多分ある)
もう少し私の勘が鈍かったら、あと2~3日は悩めますよこれ(勘でコーディング発言)
ちょっと調べたところ、どうやらセキュリティの関係で
最近追加された項目らしいです・・・
少し古い情報になると対応していないのも仕方ないですよね・・・
引き続きがんばります。
13 12月 |
さて、しょうこりもなくTwitter連携のアプリケーションでも作ろうかなと思いまして。
ギリギリ読めないなんちゃらでTwitter連携の煩雑な部分は勉強したつもりだったのですが
やっぱりいまいちわかってなかったみたいなのでメモ代わりにでも書こうと思います。
前回まではtmhOAuthというライブラリを使っていました。
ざっと調べたところ、TwitterOAuthというライブラリの方が
比較的使い方が簡単で人気がありそうなのですが
なんと、画像の取り扱い(画像投稿やプロフィールイメージ編集など)に対応していないとのこと!
ギリギリなんちゃらはモロに画像投稿のアプリケーションだったもので
仕方なく、なんだかいまいち小難しいtmhOAuthを使っていた訳です(私の技術不足という説も)
ですが!ここにきてTwitterOAuthでも画像が扱えるように改造したヤツがあるという情報を見つけました。
・・・実は結構有名な話なのかもしれません。自分の情報収集力に絶望しました。
参考サイト:【PHP】twitteroauthを使ってプロフィール画像を変更してみる
oAuthRequestImage()の部分が追加されているようなのですが、これを使えば画像が簡単に扱えます。
これで晴れて、一番人気で日本語の情報が豊富な(感じのする)TwitterOAuthを使えるようになった訳です。
我ながら随分と回り道しました(泣)
そして、順調に進むかと思いきや、またも認証部分で苦労することになるのですが
別の話なので次の記事にでも。
21 10月 |
phpでさ
header()っていう関数があるんですが、
ページを遷移させる関数なんですが、
ソースに表示部があると飛んでくれないんですよね。
・・・
それに気付かずに2時間持っていかれました。
はい。いつもこんな感じです。
少し調べれば無理矢理飛ばす方法もあると思うんですが
全ての表記の前に置けば動いたので、もうそれでイイです。
寝ます。
3 10月 |
前回の続きの続き
ついさっき気付いたのですが、なにか勘違いしていたようです。
前々回の記事の
>その認証してもらったり?アクセストークン取ってきたりするとき?に
>PHPでは「PEAR」というライブラリを使った方法しか情報が見つからなくて。
という部分。twitter認証にはPEARを使うもんなんだろうと思い込んでいたのですが
その後、色々調べてみると、twitter認証用ライブラリは沢山あるらしい・・・
しかも、その中にはPEARのようにパッケージのインストールなどが必要なく
1つファイルを読み込むだけで使えるようになるものもあるらしい・・・
tmhOAuthとかみてみたけどかなりシンプルに導入出来そう。
お恥ずかしい話ですが認証とAPIの利用って全く別モノだと思い込んでて
ライブラリも別のモノが必要だと思い込んでました。
なんでそういう思考になったんだろうね。不思議だね。
昨日の苦労はなんだったんだよ・・・
半ば無理矢理インストールしたのに・・・
なんで一昨日に見つけきれなかったのかな・・・
PEARを使う日がいつか来ることを願って今日も強く生きたいと思います。
30 9月 |
Twitterと連携した何かを作ろうと考えまして。
つーはんアンテナのBotを作ったことがあったので、同じような感じでイケるっしょ!と
気楽に考えていました。
プログラムをTwitterと連携させるには、なんだか面倒なことがいろいろあるんですが
とりあえず「アクセストークン」なるものを持ってこないといけないらしい。
Botみたいに自分が管理するアカウントで自動ツイートしたりする場合は
簡単に取得できまして、それをプログラム内にコピペしちゃえば済むんですよ。
でも、他人のアカウントで色々やりたい場合、ユーザーさんに認証をしてもらって
初めてアクセストークンが持ってこれるらしいんです。Twitterやってる人なら見たことあるよね?
で、ちょっと込み入った話になってくるんですが
その認証してもらったり?アクセストークン取ってきたりするとき?に
PHPでは「PEAR」というライブラリを使った方法しか情報が見つからなくて。
正直に言いますとPEAR使ったことない。
PEARどころかライブラリなるものの使い方もよくわかってない。
メンドイなぁ。でも他の情報見つかんないし・・・仕方ないか。
で?私、ロリポップサーバーを借りてるんですがPEARさんはどうやって使うのかね?
うっへぇ・・・わかんねぇ・・・わかんねぇし、なんか怖い。
やめよう。よくわからないモノに手を出すのはやめよう。(逃げ腰)
きっとPEARなんて使わなくてもPHPのみで出来るはずだ。探そう。
・・・ここで数時間経過
案の定なんだかよくわかりません。っていうか情報見つかんない。
たまたまオンラインにプログラマをかじってる友人がいたので聞いてみることに。
「よくわかんないけど、今はPHPのみでの認証は聞いたことないなぁ。
っていうか素直にPEAR使った方が楽だと思うよ?そのためにライブラリがあるんだし」
・・・はい。すみませんでした。僕が悪かったです。
プログラマたるもの新たな学習から逃げていては成り立たない。
そういうことですね(涙)っていうかライブラリ使えるくらい最低限ですよね(血涙)
明日、また頑張ります。
(注意)この情報は間違ってるかもしれませんので信用しすぎないようにしてください
追記:やっぱり間違えてました→事実誤認
28 9月 |
いま、ギリギリ読めない文字を作っています。
こんなのです。
「ほら見てくださいよみなさん。ギリギリ読めないでしょ?」
入力された文字からPHPを使って
こういう画像を自動生成する訳です。
だからなんだって?
知りませんよそんなこと!(半ギレ)