以下のコードはPython Quickbaseモジュールの一部ですが、これはずっと更新されていません。以下に示す関数のヘルプテキストは、パラメータを渡してファイルをアップロードする方法(実際にはbase64でエンコードされている値)で渡される方法については明確ではありません。Quickbaseモジュールadd_record()関数ファイルアップロードパラメータ?
def add_record(self, fields, named=False, database=None, ignore_error=True, uploads=None):
"""Add new record. "fields" is a dict of name:value pairs
(if named is True) or fid:value pairs (if named is False). Return the new records RID
"""
request = {}
if ignore_error:
request['ignoreError'] = '1'
attr = 'name' if named else 'fid'
request['field'] = []
for field, value in fields.iteritems():
request_field = ({attr: to_xml_name(field) if named else field}, value)
request['field'].append(request_field)
if uploads:
for upload in uploads:
request_field = (
{attr: (to_xml_name(upload['field']) if named else upload['field']),
'filename': upload['filename']}, upload['value'])
request['field'].append(request_field)
response = self.request('AddRecord', database or self.database, request, required=['rid'])
return int(response['rid'])
誰かが私がレコードを追加するためにパラメータを渡す必要がありますどのように私を助けることができます。
ここで示すように、アップロードパラメータにfield_Id/field name、filename、base64でエンコードされたファイルをXMLに渡す必要があります(https://www.quickbase.com/api -guide/add_record.html#base64-encoded_file_attachment) – speedchase
あなたは正しいですか?メソッドが単一の辞書の代わりに辞書の配列を予期しており、辞書には最初に書いたものの代わりに3つのキー/値の組があることを反映するように答えを更新しました。 –
パーフェクト!それは魅力のように働いた。これでQuickbaseにアップロードするために、自分のローカルコンピュータ上のスキャンしたイメージファイルに対してこのAPIリクエストを繰り返すことができます。 – speedchase