Archive for: 󈥬月 2011’

Flash Player の旧バージョン

2011年12月8日 Posted by PURGE

WindowsXP + IE7 で Flash Player11 が動作しないことがあった。
そんな時は、旧バージョンにダウングレードすること。 11 → 10.3

別バージョンのFlash Playerはこちら

Ruby on Rails & Twitter4R でのOAuth認証処理とツイートの基本

2011年12月8日 Posted by PURGE

四苦八苦して、ようやく認証処理とツイートまでたどり着いた。

#coding: utf-8

require 'twitter'
require 'oauth'

class OauthController < ApplicationController

  #---------------------------
  # Twitter認証画面遷移
  #---------------------------
  def connect
    #リクエストトークン取得
    consumer = OAuth::Consumer.new("コンシューマキー", "コンシューマシークレット", :site => "http://twitter.com")
    request_token = consumer.get_request_token(:oauth_callback => "http://コールバックURL/oauth/callback")
    
    #リクエストトークンをセッションに格納
    session[:request_token] = request_token

    #Twitter認証画面へリダイレクト
    authorized_url = request_token.authorize_url
    redirect_to authorized_url

  end

  #--------------------------
  # Twitter コールバック処理
  #--------------------------
  def callback
    #リクエストトークン取得
    request_token = session[:request_token]

    #HTTPパラメータ取得
    oauth_verifier = params[:oauth_verifier]
  
    #アクセストークン取得  
    access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier)
    
    #トークンとトークンシークレット取得
    token = access_token.token
    token_secret = access_token.secret
    
    #アクセストークンをセッションに格納
    session[:access_token] = access_token
    
    #Twitter投稿処理
    twitter = Twitter::Client.new(:oauth_access => { :key => token, :secret => token_secret})
    twitter.status(:post, "Twitter4R からのTweet。成功するかな?")
  end

end

コツは、OAuth認証の仕組み。コンシューマキーとコンシューマシークレット。リクエストトークンやアクセストークンの概念と役割をしっかりと理解すること。

一番ハマッたのは、Twitter開発者のアプリ管理画面で、CallBack URL を設定しているのに、PINコードの画面に遷移してしまう現象。
consumer.get_request_token のところで、callback_url を設定しなければならない。なぜだかは不明。OAuth認証の仕様なのか、Ruby for OAuthの不備なのか?

リクエストトークンからアクセストークンを取得する部分や、Twitter::Client.new の方法。ドキュメントが少ない・・・。

bundle install での不具合

2011年12月6日 Posted by PURGE

bundle install する度に、わけの分からないところにフォルダが生成されて、必要なgemがインストールされる現象が起きた。
調べてみると何故だかいつの間に、.bundle/config という隠しフォルダができていた。

これを削除してみたら、今まで通りのデフォルトのgemインストールフォルダに bundle install が実行されていた。

なぜgem install のパスの設定ファイルができていたのかの原因は不明です。

Aptana Studio3.1 でのデバッグエラー

2011年12月6日 Posted by PURGE

どうしても、下記エラーが出てデバッグできない。

Uncaught exception: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

下記のライブラリをインストールしてみる。

gem install execjs
gem install therubyracer

それでもダメ。仕方ないのでアップデートサイトで、NightlyBuild でアップグレードしてみる。

デバッガが無事に動作した。