【QR】アドレス帳登録用のQRコードを作る(Google Chart利用)
【QR】アドレス帳登録用のQRコードを作る(Google Chart利用)
https://force4u.cocolog-nifty.com/skywalker/2019/07/post-deb3db.html
AppleScriptでphpを利用していた部分
---URLエンコードのサブルーチン
on encodeURL(str)
set scpt to "php -r 'echo urlencode(\"" & str & "\");'"
return do shell script scpt
end encodeURL
を
python3に作り直し
---URLエンコードのサブルーチン
on encodeURL(str)
set scpt to ("python3 -c 'import urllib.parse;[print(urllib.parse.quote(\"" & str & "\", safe=\"/:;#!?=\"))]'") as text
return do shell script scpt
end encodeURL
ダウンロード - chart.googleapis.com.add.scpt.zip
(*
chart.googleapis.com.add.scpt
アドレス帳登録用のQRコードを生成します。
たぶんiOS専用
20190706 初回作成
20190715 phpのエラー処理追加
20211204 phpでの%エンコードの処理をpython3に置き換え
APIの仕様は
https://developers.google.com/chart/infographics/docs/qr_codes
*)
----設定項目
set theNa to "車" as text ---姓
set theNb to "寅次郎" as text ---名
set theOrg to "くるまや" as text ---会社名
set theMailWork to "foo@hoge.com" as text ---メール会社
set theMailHome to "foo-hoge@mobie.com" as text ---メール自宅
set theTelWork to "123-456-7890" as text ---電話会社
set theTelCell to "000-1111-2222" as text --- 電話携帯
set theTelInt to "" as text ---内線
----設定ここまで
--姓名表示をを整形 半角スペース区切り
set theFN to (theNa & " " & theNb) as text
----URLエンコード
set theNa to my encodeURL(theNa)
----URLエンコード
set theNb to my encodeURL(theNb)
----URLエンコード
set theFN to my encodeURL(theFN)
----URLエンコード
set theOrg to my encodeURL(theOrg)
----Vカードデータを整形 改行コードはMac
set theChl to "BEGIN:VCARD\rVERSION:3.0\rN:" & theNa & ";" & theNb & ";;;\rFN:" & theFN & "\rORG:" & theOrg & ";\rEMAIL;type=INTERNET;type=WORK;type=pref:" & theMailWork & "\rEMAIL;type=INTERNET;type=HOME:" & theMailHome & "\rTEL;type=WORK;type=pref:" & theTelWork & "\rTEL;type=CELL:" & theTelCell & "\ritem1.TEL:" & theTelInt & "\ritem1.X-ABLabel:内線\rEND:VCARD" as text
--API各項目
--BASE URL
set theApiUrl to "https://chart.googleapis.com/chart?" as text
set theCht to "qr" as text
set theChs to "504x504" as text
set theChoe to "UTF-8" as text
---L M Q R
set theChld to "Q" as text
set theChl to doReplace(theChl, "+", "%20") as text
--URLを整形
set theOpenUrl to ("" & theApiUrl & "&cht=" & theCht & "&chs=" & theChs & "&choe=" & theChoe & "&chld=" & theChld & "&chl=" & theChl & "") as text
---改行を%エンコード
set theOpenUrl to doReplace(theOpenUrl, "\r", "%0A") as text
-----サファリで開く
tell application "Safari"
activate
make new document with properties {name:"QR-CODE by Google API"}
tell window 1
open location theOpenUrl
end tell
end tell
---URLエンコードのサブルーチン
on encodeURL(str)
set scpt to ("python3 -c 'import urllib.parse;[print(urllib.parse.quote(\"" & str & "\", safe=\"/:;#!?=\"))]'") as text
return do shell script scpt
end encodeURL
to doReplace(theText, orgStr, newStr)
set oldDelim to AppleScript's text item delimiters
set AppleScript's text item delimiters to orgStr
set tmpList to every text item of theText
set AppleScript's text item delimiters to newStr
set tmpStr to tmpList as text
set AppleScript's text item delimiters to oldDelim
return tmpStr
end doReplace
| 固定リンク
「Barcode2D」カテゴリの記事
- [LINE]QRコード各種(2023.08.29)
- 【QR】イベント・カレンダー登録用のQRコードを作る(Google Chart利用)(2022.01.06)
- 【QR】アドレス帳登録用のQRコードを作る(Google Chart利用)(2021.12.06)
- [Wifi]Wifiアクセスポイント用のmobileconfigを作成する(2021.11.02)
- [AppleScripts]WIFIバーコードを作成(データマトリックス)(2021.08.29)