初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2021-10-18 11:03:45

tkn_ik
Member

外部→FilemakerDBの参照方法

外部→FilemakerDBの参照方法を教えていただけると幸いです。

FilemakerDBの内容を表示するwebアプリを作成したいと思っています。
(このwebアプリはスクラッチで開発する予定です。)

先んずはFilemakerDBへの接続を試してみようと思い、
SQL Mk-2でFilemakerDBに接続し、DBの内容を閲覧でいる状態にしてみよう
としたのですが、うまく接続できません。

また、FilemakerはアプリケーションサーバとDBサーバーが一緒(?)のイメージなのですが、
そのあたりも相まって考え方がごっちゃになってしまいました。

Filemaker→外部DBの接続はできています。

どなたか方法を教えていただけないでしょうか。

Offline

#2 2021-10-18 11:33:52

Moz
Member

Re: 外部→FilemakerDBの参照方法

使用中のバージョンやOSなどを書きましょう。

FileMaker に付属するドライバーのインストールとDSNの定義が必要です。

FileMaker へのODBC/JDBC接続はヘルプおよび公式のドキュメントが参考になります。
ODBC または JDBC による FileMaker Pro のデータの共有

Webアプリケーションなら FileMaker Data API を利用したほうが手っ取り早いでしょう。
※ FileMaker Server が必要です。

Claris FileMaker 19 Data API ガイド

Offline

#3 2021-10-18 11:51:22

himadanee
Guest

Re: 外部→FilemakerDBの参照方法

※ FileMaker Server が必要です。

どっちみちFMProをホストにしてWeb共有するのはライセンス上禁止されてるので、FMSは必要でしょう。

#4 2021-10-18 13:49:43

tkn_ik
Member

Re: 外部→FilemakerDBの参照方法

Filemakerサーバーあります。
FilemakerAPIを利用したほうがよいのですね。
試してみます。

Offline

#5 2021-10-19 13:30:58

tkn_ik
Member

Re: 外部→FilemakerDBの参照方法

FilemakerAPIのリファレンスを見ながら、
APIからレコードをjsonえ受け取るためのコードを書いてみました。
しかしながら、<Response [401]>(認証情報が足りないエラー?)が出てしまいました。
何が間違っているのでしょうか。


[Python]===============================================

import requests
import base64
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

id = '●●●' #FilemakerappへのログインID
pw = '●●●' #FilemakerappへのログインPW
basic_value_encode = base64.b64encode((id + ':' + pw).encode())
basic_value = repr(basic_value_encode)[2:-1] #エンコードしたものから「b''」を取り除く

hostname = '●●●' #FilemakerサーバーのIPアドレス

p = {
    'version' : 'vLatest' ,
    'database' : '●●●', #Filemakerapp名
    'layout' : '●●●' #Filemakerapp内のレイアウト名
}

h = {
    'Authorization': 'Basic ' + str(basic_value),
    'Content-Type': 'application/json'
}


def requestApi( dbname=p['database'], layout=p['layout']) :

    url = r'https://' + hostname + '/fmi/data/vLatest/databases/' + dbname + '/layouts/' + layout + '/records'
    #/fmi/data/{version}/databases/{database}/layouts/{layout}/records

    data = requests.get( url, params=p, headers=h, verify=False)
    print(data)

if __name__ == '__main__':
    requestApi()

Last edited by tkn_ik (2021-10-19 14:20:46)

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.012 seconds, 10 queries executed - Memory usage: 509.56 KiB (Peak: 514.47 KiB) ]