Last active
March 11, 2017 06:38
-
-
Save na0AaooQ/35a5efb5a288b5a69f92fad362833021 to your computer and use it in GitHub Desktop.
Ruby からSalesforce REST APIを実行する (databasedotcomを使用してSalesforceカスタムオブジェクトへレコードを追加する) ref: http://qiita.com/na0AaooQ/items/1ac53c3899755f935c7b
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ cp -p /home/ec2-user/.bashrc /home/ec2-user/.bashrc.ORG | |
[ec2-user@example-ruby-sinatra-server ~]$ diff /home/ec2-user/.bashrc /home/ec2-user/.bashrc.ORG | |
[ec2-user@example-ruby-sinatra-server ~]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ vi /home/ec2-user/.bashrc | |
(末尾に以下を追加する) | |
### Sandbox環境へ接続する場合のAPIエンドポイント | |
##export DATABASEDOTCOM_HOST="test.salesforce.com" | |
### 本番環境へ接続する場合のAPIエンドポイント | |
export DATABASEDOTCOM_HOST="login.salesforce.com" | |
export DATABASEDOTCOM_CLIENT_ID="前述の「コンシューマ鍵」(OAuthコンシューマキー)を記載します。" | |
export DATABASEDOTCOM_CLIENT_SECRET="前述の「コンシューマの秘密」(OAuthコンシューマシークレット)を記載します。" | |
export DATABASEDOTCOM_CLIENT_USERNAME="salesforce_api_testuser@**********.salesforce.example.com" | |
export DATABASEDOTCOM_CLIENT_AUTHENTICATE_PASSWORD="APIを有効化しているSalesforceユーザアカウントのパスワードを記載します。" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ pwd | |
/home/ec2-user/select_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ bundle install --path vendor/bundle | |
Fetching gem metadata from https://rubygems.org/.............. | |
Fetching version metadata from https://rubygems.org/. | |
Resolving dependencies... | |
Installing concurrent-ruby 1.0.3 | |
Installing i18n 0.7.0 | |
Installing minitest 5.10.1 | |
Installing thread_safe 0.3.5 | |
Installing json 2.0.2 with native extensions | |
Installing multipart-post 2.0.0 | |
Using bundler 1.13.2 | |
Installing tzinfo 1.2.2 | |
Installing activesupport 5.0.0.1 | |
Installing databasedotcom 1.3.5 | |
Bundle complete! 1 Gemfile dependency, 10 gems now installed. | |
Bundled gems are installed into ./vendor/bundle. | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ bundle list | grep databasedotcom | |
* databasedotcom (1.3.5) | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ bundle list | |
Gems included by the bundle: | |
* activesupport (5.0.0.1) | |
* bundler (1.13.2) | |
* concurrent-ruby (1.0.3) | |
* databasedotcom (1.3.5) | |
* i18n (0.7.0) | |
* json (2.0.2) | |
* minitest (5.10.1) | |
* multipart-post (2.0.0) | |
* thread_safe (0.3.5) | |
* tzinfo (1.2.2) | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ pwd | |
/home/ec2-user/select_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ ls -lrta /home/ec2-user/select_salesforce_api_test/ | |
合計 28 | |
drwx------ 5 ec2-user ec2-user 4096 12月 20 01:00 .. | |
-rw-r--r-- 1 ec2-user ec2-user 75 12月 20 01:00 Gemfile.ORG | |
-rw-r--r-- 1 ec2-user ec2-user 96 12月 20 01:01 Gemfile | |
drwxrwxr-x 2 ec2-user ec2-user 4096 12月 20 01:01 .bundle | |
drwxrwxr-x 3 ec2-user ec2-user 4096 12月 20 01:01 vendor | |
-rw-rw-r-- 1 ec2-user ec2-user 524 12月 20 01:02 Gemfile.lock | |
drwxrwxr-x 4 ec2-user ec2-user 4096 12月 20 01:02 . | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ mkdir /home/ec2-user/insert_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server ~]$ cd /home/ec2-user/insert_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ pwd | |
/home/ec2-user/insert_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ ls -lrta /home/ec2-user/insert_salesforce_api_test/ | |
合計 32 | |
-rw-r--r-- 1 ec2-user ec2-user 75 12月 20 01:00 Gemfile.ORG | |
-rw-r--r-- 1 ec2-user ec2-user 96 12月 20 01:01 Gemfile | |
drwxrwxr-x 2 ec2-user ec2-user 4096 12月 20 01:01 .bundle | |
drwxrwxr-x 3 ec2-user ec2-user 4096 12月 20 01:01 vendor | |
-rw-rw-r-- 1 ec2-user ec2-user 524 12月 20 01:02 Gemfile.lock | |
drwx------ 6 ec2-user ec2-user 4096 12月 20 02:19 .. | |
drwxrwxr-x 4 ec2-user ec2-user 4096 12月 20 02:35 . | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ bundle list | grep databasedotcom | |
* databasedotcom (1.3.5) | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ bundle list | |
Gems included by the bundle: | |
* activesupport (5.0.0.1) | |
* bundler (1.13.2) | |
* concurrent-ruby (1.0.3) | |
* databasedotcom (1.3.5) | |
* i18n (0.7.0) | |
* json (2.0.2) | |
* minitest (5.10.1) | |
* multipart-post (2.0.0) | |
* thread_safe (0.3.5) | |
* tzinfo (1.2.2) | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ cd /home/ec2-user/select_salesforce_api_test/ | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ pwd | |
/home/ec2-user/select_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ ls -lrta /home/ec2-user/select_salesforce_api_test/ | |
合計 32 | |
-rw-r--r-- 1 ec2-user ec2-user 75 12月 20 01:00 Gemfile.ORG | |
-rw-r--r-- 1 ec2-user ec2-user 96 12月 20 01:01 Gemfile | |
drwxrwxr-x 2 ec2-user ec2-user 4096 12月 20 01:01 .bundle | |
drwxrwxr-x 3 ec2-user ec2-user 4096 12月 20 01:01 vendor | |
-rw-rw-r-- 1 ec2-user ec2-user 524 12月 20 01:02 Gemfile.lock | |
drwxrwxr-x 4 ec2-user ec2-user 4096 12月 20 01:32 . | |
drwx------ 6 ec2-user ec2-user 4096 12月 20 02:19 .. | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ vi /home/ec2-user/select_salesforce_api_test/select_salesforce_api_test.rb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ ruby /home/ec2-user/select_salesforce_api_test/select_salesforce_api_test.rb | |
(中略) | |
"testname_20160906_042126 : testname_20160906_042126@hoge.example.com 2016-09-06" | |
"testname_20160906_044112 : testname_20160906_044112@hoge.example.com 2016-09-06" | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ source /home/ec2-user/.bashrc | |
[ec2-user@example-ruby-sinatra-server ~]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ cd /home/ec2-user/insert_salesforce_api_test/ | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ pwd | |
/home/ec2-user/insert_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ ls -lrta /home/ec2-user/insert_salesforce_api_test/ | |
合計 32 | |
-rw-r--r-- 1 ec2-user ec2-user 75 12月 20 01:00 Gemfile.ORG | |
-rw-r--r-- 1 ec2-user ec2-user 96 12月 20 01:01 Gemfile | |
drwxrwxr-x 2 ec2-user ec2-user 4096 12月 20 01:01 .bundle | |
drwxrwxr-x 3 ec2-user ec2-user 4096 12月 20 01:01 vendor | |
-rw-rw-r-- 1 ec2-user ec2-user 524 12月 20 01:02 Gemfile.lock | |
-rw-rw-r-- 1 ec2-user ec2-user 1204 12月 20 02:19 insert_salesforce_api_test.rb | |
drwx------ 6 ec2-user ec2-user 4096 12月 20 02:19 .. | |
drwxrwxr-x 4 ec2-user ec2-user 4096 12月 20 02:35 . | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ vi /home/ec2-user/insert_salesforce_api_test/insert_salesforce_api_test.rb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ ruby /home/ec2-user/insert_salesforce_api_test/insert_salesforce_api_test.rb | |
(中略) | |
"testname_20160906_042126 : testname_20160906_042126@hoge.example.com 2016-09-06" | |
"testname_20160906_044112 : testname_20160906_044112@hoge.example.com 2016-09-06" | |
"testname_Ruby_20161220_023830 : testname_Ruby_20161220_023830@hoge.example.com 2016-12-20" | |
"testname_Ruby_20161220_023911 : testname_Ruby_20161220_023911@hoge.example.com 2016-12-20" | |
[ec2-user@example-ruby-sinatra-server insert_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server ~]$ hostname | |
example-ruby-sinatra-server | |
[ec2-user@example-ruby-sinatra-server ~]$ id | |
uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel) | |
[ec2-user@example-ruby-sinatra-server ~]$ pwd | |
/home/ec2-user | |
[ec2-user@example-ruby-sinatra-server ~]$ mkdir /home/ec2-user/select_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server ~]$ cd /home/ec2-user/select_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ pwd | |
/home/ec2-user/select_salesforce_api_test | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ ls -lrta /home/ec2-user/select_salesforce_api_test/ | |
合計 8 | |
drwx------ 5 ec2-user ec2-user 4096 12月 20 01:00 .. | |
drwxrwxr-x 2 ec2-user ec2-user 4096 12月 20 01:00 . | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ bundle init | |
Writing new Gemfile to /home/ec2-user/select_salesforce_api_test/Gemfile | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ ls -lrta /home/ec2-user/select_salesforce_api_test/ | |
合計 12 | |
drwx------ 5 ec2-user ec2-user 4096 12月 20 01:00 .. | |
-rw-r--r-- 1 ec2-user ec2-user 75 12月 20 01:00 Gemfile | |
drwxrwxr-x 2 ec2-user ec2-user 4096 12月 20 01:00 . | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ cp -p /home/ec2-user/select_salesforce_api_test/Gemfile /home/ec2-user/select_salesforce_api_test/Gemfile.ORG | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ diff /home/ec2-user/select_salesforce_api_test/Gemfile /home/ec2-user/select_salesforce_api_test/Gemfile.ORG | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ cat /home/ec2-user/select_salesforce_api_test/Gemfile | |
# frozen_string_literal: true | |
source "https://rubygems.org" | |
# gem "rails" | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ echo 'gem "databasedotcom"' >> /home/ec2-user/select_salesforce_api_test/Gemfile | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ cat /home/ec2-user/select_salesforce_api_test/Gemfile | |
# frozen_string_literal: true | |
source "https://rubygems.org" | |
# gem "rails" | |
gem "databasedotcom" | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ diff /home/ec2-user/select_salesforce_api_test/Gemfile /home/ec2-user/select_salesforce_api_test/Gemfile.ORG | |
5d4 | |
< gem "databasedotcom" | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ bundle list | |
Could not find gem 'databasedotcom' in any of the gem sources listed in your Gemfile or available on this machine. | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ bundle list | grep databasedotcom | |
Could not find gem 'databasedotcom' in any of the gem sources listed in your Gemfile or available on this machine. | |
[ec2-user@example-ruby-sinatra-server select_salesforce_api_test]$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/env ruby | |
require 'bundler/setup' | |
require 'databasedotcom' | |
require 'date' | |
# Salesforce接続用インスタンス作成 | |
client = Databasedotcom::Client.new :host => ENV['DATABASEDOTCOM_HOST'], :client_id => ENV['DATABASEDOTCOM_CLIENT_ID'], :client_secret => ENV['DATABASEDOTCOM_CLIENT_SECRET'] | |
# Salesforce認証 | |
client.authenticate :username => ENV['DATABASEDOTCOM_CLIENT_USERNAME'], :password => ENV['DATABASEDOTCOM_CLIENT_AUTHENTICATE_PASSWORD'] | |
now = Time.now | |
create_date = now.strftime("%Y-%m-%d") | |
insert_time = now.strftime("%Y%m%d_%H%M%S") | |
insert_name = "testname_Ruby_" + insert_time | |
insert_email = insert_name + "@hoge.example.com" | |
# Salesforceカスタムオブジェクトにレコードを登録する | |
client.create( | |
'QuickStart__c', | |
'user_name__c' => insert_name, | |
'user_email__c' => insert_email, | |
'create_date__c' => create_date | |
) | |
# Salesforceカスタムオブジェクトに登録されているレコード一覧を表示 | |
client.query("SELECT user_name__c, user_email__c, create_date__c FROM QuickStart__c").each do|record| | |
p "#{record.user_name__c} : #{record.user_email__c} #{record.create_date__c}" | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/env ruby | |
# | |
require 'bundler/setup' | |
require 'databasedotcom' | |
# Salesforce接続用インスタンス作成 | |
client = Databasedotcom::Client.new :host => ENV['DATABASEDOTCOM_HOST'], :client_id => ENV['DATABASEDOTCOM_CLIENT_ID'], :client_secret => ENV['DATABASEDOTCOM_CLIENT_SECRET'] | |
# Salesforce認証 | |
client.authenticate :username => ENV['DATABASEDOTCOM_CLIENT_USERNAME'], :password => ENV['DATABASEDOTCOM_CLIENT_AUTHENTICATE_PASSWORD'] | |
# Salesforceカスタムオブジェクトに登録されているレコード一覧を表示 | |
client.query("SELECT user_name__c, user_email__c, create_date__c FROM QuickStart__c").each do|record| | |
p "#{record.user_name__c} : #{record.user_email__c} #{record.create_date__c}" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment