2017年10月10日火曜日

memo|FileMaker 16 SQL リファレンスガイド

memo
FileMaker 16 SQL リファレンスガイド :
https://fmhelp.filemaker.com/docs/16/ja/fm16_sql_reference.pdf

CREATE INDEX ステートメント|索引を作成
DROP INDEX ステートメント|索引を削除

2017年10月9日月曜日

DropBox API Upload files |PowerShell |FileMaker

DropBox API Upload files |PowerShell
DropBox API v2

PowerShell で DropBox へファイルをアップロード。
FileMaker からアップロード可能。


動作検証
Windows 10
FileMaker Pro 16
※FMP15以下でも大丈夫。

Dropbox API v2 を使用する準備は、以下を参照
https://qbxxdp.blogspot.jp/2017/10/filemaker-pro-16-dropbox.html

PowerShellスクリプト
$TargetFilePath="/v3.png"
$SourceFilePath="C:\Users\User\Desktop\v3.png"
$arg = '{ "path": "' + $TargetFilePath + '", "mode": "add", "autorename": true, "mute": false }'
$authorization = "Bearer " + "your access token"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", $authorization)
$headers.Add("Dropbox-API-Arg", $arg)
$headers.Add("Content-Type", 'application/octet-stream')
Invoke-RestMethod -Uri https://content.dropboxapi.com/2/files/upload -Method Post -InFile $SourceFilePath -Headers $headers


上記PowerShellスクリプトが、フィールド:Script に設定されている場合、
FileMaker プラグイン:ScriptMakerPS を使用して

変数を設定 [$Result; 値:SMPS_Exe( SMPS::Script  )]

成功した場合、以下のような値が返ってきます。
@{name=v34.png; path_lower=/v34.png; path_display=/v34.png; id=id:QCkWs_iH.....; client_modified=2017-10-09T13:43:42Z; server_modified=2017-10-09T13:43:42Z; rev=335d...; size=448533; content_hash=df60d1b113049f5ba.....}

FileMaker Pro 16 から Dropboxへファイルをアップロード

FileMaker Pro 16 から Dropboxへファイルをアップロード
動作検証
Windows 10|FileMaker Pro 16
iOS 10|FileMaker Go 16

Dropbox API v2 を使用する準備

以下にアクセス
https://www.dropbox.com/developers/apps/create

1. Choose an API
  Dropbox API を選択
2. Choose the type of access you need
  App folder– Access to a single folder created specifically for your app. を選択
3. Name your app
  任意の名前

[Create app]をクリック
この段階でDropbox内にName your appで指定した名前のフォルダが作成される。

OAuth 2
└ Generated access token の[Generate]ボタンをクリックし、access token を控える。


FileMaker Pro 16
スクリプト:
変数を設定 [$file; 値:オブジェクトフィールド]
URLから挿入
URL:https://content.dropboxapi.com/2/files/upload
cURLオプションの指定:
"
-X POST
-H \"Authorization: Bearer APIトークン\"
-H \"Dropbox-API-Arg: {\\\"path\\\": \\\"/ファイル名.png\\\",\\\"mode\\\": \\\"add\\\",\\\"autorename\\\": true,\\\"mute\\\": false}\"
-H \"Content-Type: application/octet-stream\"
--data-binary @$file
"