0

Ruby と Plivo API を使用してサブアカウントを作成しています。

コードは次のとおりです。

AUTH_ID = "my_id"
AUTH_TOKEN = "my_token"

p = RestAPI.new(AUTH_ID, AUTH_TOKEN)
params = {'name' => 'thegreatone'}
response = p.create_subaccount(params)

// ここまでは問題なく (以下で json 応答にアクセスしようとしなくても) 動作し、アカウントが作成されます。

JSON 応答は次のとおりです。

[{"auth_token"=>"ZjgxMGQwMTY2NGY3Nzk3ZmM3ZGE3ZmIxMGQyZWYy",
  "message"=>"created",
  "api_id"=>"2c1eff4a-b955-11e2-8361-123141011ae6",
  "auth_id"=>"SAMZBJOGZKZDIXMMEXNJ"}]

データベースに挿入できるように、「auth_token」と「auht_id」を「抽出」したいと思います。

だから私は(とりわけ)試しました:

obj = JSON.parse(response)
:user_key = obj['auth_token']

私の端末のメッセージは次のとおりです。

構文エラー、予期しない「=」、$end が必要です

:user_key = obj['auth_token']

これらの変数を抽出して挿入クエリに渡すにはどうすればよいですか?

SEQUEL、ruby、sinatra で postgres を使用しています。

4

2 に答える 2

3

シンボルに値を代入しようとすると、応答が配列を返します。

obj = JSON.parse(response)
:user_key = obj['auth_token'] 

する必要があります

obj = JSON.parse(response).first
user_key = obj['auth_token'] 

シンボルは変数ではなく、定数です。

于 2013-05-10T10:40:39.970 に答える
0

応答は、コード応答とデータを含む配列であるため、コードは次のようになります。

obj = JSON.parse(response).last
user_key = obj['auth_token'] 

編集: gem がすでに plivo.rbの解析を行っていることがわかりました。したがって、コードは次のようになります。

obj = response.last
user_key = obj['auth_token'] 
于 2013-05-10T11:25:34.917 に答える