CData Sync App は、Basecamp データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Basecamp コネクタはCData Sync アプリケーションから使用可能で、Basecamp からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App は、Basecamp 2 およびBasecamp 3 アカウントを双方向テーブルとしてモデル化します。
必須プロパティについては、設定タブを参照してください。
通常必須ではない接続プロパティについては、高度な設定タブを参照してください。
認証に加えて、次の接続プロパティを設定してBasecamp テーブルにアクセスします。
ProjectId 接続プロパティを指定しない場合は、Sync App はBasecamp への最初の認証でProjects テーブルから返された最初のプロジェクトId を使用します。
http://basecamp.com/<AccountId>
Basecamp 2 はBasic 認証もしくはOAuth 2.0 認証を使います。Basic 認証を使用して自分のアカウントに接続することも、OAuth を使用して他のユーザーが彼ら自身のアカウントにログインできるようにすることもできます。
Basecamp 3 はOAuth 2.0 が必要です。
Basic 認証では、自分のログインクレデンシャルを使用して接続します。次のプロパティを設定します。
AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。
このセクションでは、Basecamp Sync App の高度な機能を厳選して説明します。
Sync App はユーザー定義ビューの使用をサポートします。これは事前設定されたユーザー定義クエリによって内容が決定される仮想テーブルです。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。詳しくは、「接続文字列オプション」にあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
詳しくは、クエリ処理 を参照してください。
デフォルトでは、Sync App はサーバーとのTLS のネゴシエーションを試みます。サーバー証明書は、デフォルトのシステム信頼済み証明書ストアで検証されます。SSLServerCert 接続プロパティを使用して、証明書の検証方法をオーバーライドできます。
別の証明書を指定するには、SSLServerCert 接続プロパティを参照してください。
HTTP プロキシへの認証には、以下のように設定します。
次のプロパティを設定します。
CData Sync App は、Basecamp 2 およびBasecamp API をリレーショナルテーブル、ビュー、およびストアドプロシージャとしてモデル化します。これらは、簡単なテキストベースのコンフィギュレーションファイルであるスキーマファイルにて定義されます。
利用可能なエンティティ、およびこれらのエンティティをクエリするためのAPI の制限および要件については、Basecamp 2 データモデル およびBasecamp 3 データモデル で説明します。
データモデルは、Basecamp 環境がどのように見えるかの例を示します。実際のデータモデルは、Basecamp アカウントに基づいて動的に取得されます。
Basecamp 2 データモデル describes the schemas available to connect to Basecamp 2 accounts. You can use tables to work with live Basecamp data. You can use stored procedures provided by CData Sync App to automate working with Basecamp data.
Basecamp 3 データモデル describes the schemas available to connect to Basecamp 3 accounts. You can use tables to work with live Basecamp data. You can use stored procedures provided by CData Sync App to automate working with Basecamp data.
このセクションでは、Basecamp 2アカウントへの接続に使用できるテーブル、ビュー、およびストアドプロシージャ について説明します。
Sync App はBasecamp のデータを、標準のSQL ステートメントを使用してクエリできるリレーショナルデータベースのテーブルのリストとしてモデル化します。
| Name | Description |
| Accesses | Retrieve, grant, and deny access permissions to Projects and Calendars on Basecamp. |
| CalendarEvents | Retrieve, create, update, and delete Calendar Events on Basecamp. |
| Calendars | Retrieve, create, update, and delete Calendars on Basecamp. |
| Documents | Retrieve, create, update, and delete Documents on Basecamp. |
| People | Retrieve and delete People on Basecamp. |
| Projects | Retrieve, create, update, and delete Projects on Basecamp. |
Retrieve, grant, and deny access permissions to Projects and Calendars on Basecamp.
Accesses を取得するには、ProjectId もしくはCalendarId を指定する必要があります。これらのカラムはBasecamp がフィルタ条件として'=' 演算子と共に使うことがサポートされています。
SELECT * FROM Accesses WHERE ProjectId = '11111111' SELECT * FROM Accesses WHERE CalendarId = '11111111'
Email Address もしくはId(すでに組織のメンバーである場合)を使って、メンバーにProject もしくはCalendar へのアクセスを与えることができます。
INSERT INTO Accesses (ProjectId, EmailAddresses) VALUES ('11111111', '[email protected], [email protected]')
INSERT INTO Accesses (CalendarId, Ids) VALUES ('11111111', '123456789, 987654321')
UPDATE 処理はAccesses テーブルではサポートされていません。
Project もしくはCalendar から特定の人のアクセス権を削除するには、ProjectId もしくはCalendarId とその人のId を指定します。
DELETE FROM Accesses WHERE ProjectId = '11111111' AND Id = '123456789' DELETE FROM Accesses WHERE CalendarId = '11111111' AND Id = '123456789'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The unique identifier of the person with access to the project or calendar. | |
| Admin | Boolean | True |
Boolean value to show if the current person is an admin or not. | |
| AppUrl | String | True |
The app URL. | |
| AvatarUrl | String | True |
The avatar URL of the person. | |
| CanCreateProjects | Boolean | True |
Whether the person can create projects or not. | |
| CreatedAt | Datetime | True |
The date and time when the record was created. | |
| EmailAddress | String | True |
The email address of the person with access to the project or calendar. | |
| FullsizeAvatarUrl | String | True |
The full-size avatar URL of the person. | |
| IdentityId | String | True |
The identity Id of the person with access to the project or calendar. | |
| IsClient | Boolean | False |
Is the returned user a client or not. | |
| Name | String | True |
The name of the person with access to the project or calendar. | |
| Trashed | Boolean | False |
Boolean value for deleted people. | |
| UpdatedAt | Datetime | True |
The date and time when the record was last updated. | |
| URL | String | True |
The URL of the person. | |
| Ids | String | False |
A comma separated list of user Ids to be granted access to a project or calendar. | |
| EmailAddresses | String | False |
A comma separated list of user email addresses to be granted access to a project or calendar. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| ProjectId | String |
The Project Id associated with the access. |
| CalendarId | String |
The Calendar Id associated with the access. |
Retrieve, create, update, and delete Calendar Events on Basecamp.
Basecamp は、WHERE 句でフィルタ条件として使用される限られたカラムのサブセットのみをサポートします。このテーブルのすべてのBoolean カラムは'=' 演算子と一緒に使うことができます。ProjectId、CalendarId、およびEndsAt も'=' 演算子と一緒に使うことができます。さらに、StartsAt カラムは、'>=' 演算子と一緒に使うことができます。
次のクエリは特定の時間範囲でフィルタをかけます:
SELECT * FROM CalendarEvents WHERE StartsAt = '2016-01-01' AND EndsAt = '2016-02-01'次のクエリは、特定のProject もしくはCalendar のCalendarEvents を取得します。
SELECT * FROM CalendarEvents WHERE ProjectId = '123456768' SELECT * FROM CalendarEvents WHERE CalendarId = '123456768'
新しいCalendarEvent を作成するには、ProjectId かCalendarId およびStartsAt を指定します。
INSERT INTO CalendarEvents (ProjectId, Summary, Description, AllDay, StartsAt) VALUES ('12345678', 'My single, all-day Project event', 'Details to follow', 'true', 2016-02-01)
CalendarEvents の更新や削除には、ProjectId かCalendarId およびCalendarEvent Id を指定します。
UPDATE CalendarEvents SET Summary = 'Updated, two-day Project event', Description = 'Details to follow', AllDay = 'true', StartsAt = '2016-01-01', EndsAt = '2016-01-03' WHERE ProjectId = '12345678' AND Id = '12345678' DELETE FROM CalendarEvents WHERE ProjectId = '12345678' AND Id = '12345678'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The unique identifier for the calendar event. | |
| AllDay | Boolean | False |
Whether the calendar event is an all-day event. | |
| AppUrl | String | True |
The app URL. | |
| BucketAppUrl | String | True |
The calendar event bucket app url. | |
| BucketColor | String | True |
The calendar event bucket color. | |
| BucketId | String | True |
The calendar event bucket Id. | |
| BucketName | String | True |
The calendar event bucket name. | |
| BucketType | String | True |
The calendar event bucket type. | |
| BucketUrl | String | True |
The calendar event bucket URL. | |
| CommentsCount | Integer | True |
The number of comments on this calendar event. | |
| CreatedAt | Datetime | True |
The date and time when the calendar event was created. | |
| CreatorAvatarUrl | String | False |
Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | False |
Creator full-size avatar URL. | |
| CreatorId | String | False |
The Id of the creator of the calendar event. | |
| CreatorName | String | False |
The name of the creator of the calendar event. | |
| Description | String | False |
The description for the calendar event. | |
| EndsAt | Datetime | False |
The end date and time for the calendar event. | |
| Past | Boolean | False |
Boolean value for past calendar events. | |
| Private | Boolean | False |
Whether this calendar event is private. | |
| RemindAt | Datetime | False |
The date and time for the calendar event reminder. | |
| StartsAt | Datetime | False |
The start date and time for the calendar event. | |
| SubscribersId | String | False |
The Id of the subscriber to the calendar event. | |
| SubscribersName | String | False |
The name of the subscriber to the calendar event. | |
| Summary | String | False |
The summary for the calendar event. | |
| Trashed | Boolean | False |
Boolean value for deleted calendar events. | |
| UpdatedAt | Datetime | True |
The date and time when the calendar event was updated. | |
| Url | String | True |
The URL of the calendar event. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| ProjectId | String |
The Id of the Project associated with the calendar event. |
| CalendarId | String |
The calendar Id associated with the calendar event. |
Retrieve, create, update, and delete Calendars on Basecamp.
特定のCalendar からより多くの情報を取得するには、Calendars からSelect all するかId を指定します(Basecamp で検索条件としてサポートされるカラムはId のみです)。
SELECT * FROM Calendars WHERE Id = '123456789'
組織下に新しいCalendar を作成するには、(少なくとも)Name プロパティを指定します。
INSERT INTO Calendars (Name) VALUES ('New Test Calendar')
Calendar の更新および削除には、Calendar Id を指定します。更新の場合には、Name プロパティを指定する必要があります。
UPDATE Calendars SET Name = 'This is a new name for the Test Calendar.' WHERE Id = '123456789' DELETE FROM Calendars WHERE Id = '123456789'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The unique identifier for the calendar. | |
| AccessesAppUrl | String | True |
The accesses app URL. | |
| AccessesCount | Integer | True |
The accesses count. | |
| AccessesUpdatedAt | Datetime | True |
The time when accesses were updated. | |
| AccessesUrl | String | True |
The accesses URL. | |
| AppUrl | String | True |
The app URL. | |
| CalendarEventsCount | Integer | True |
Number of calendar events. | |
| CalendarEventsUpdatedAt | Datetime | True |
The date and time when the calendar event was last updated. | |
| CalendarEventsUrlsPast | String | True |
URL of the past calendar event. | |
| CalendarEventsUrlsUpcoming | String | True |
The date and time when the calendar was last updated. | |
| Color | String | True |
The color of the calendar. | |
| CreatedAt | Datetime | True |
The date and time when the document was created. | |
| CreatorAvatarUrl | String | False |
Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | False |
Creator full-size avatar Url. | |
| CreatorId | String | False |
The Id of the creator of the calendar. | |
| CreatorName | String | False |
The name of the creator of the calendar. | |
| Name | String | False |
The name of the calendar. | |
| UpdatedAt | Datetime | True |
The date and time when the calendar was last updated. | |
| Url | String | True |
The URL of the calendar. |
Retrieve, create, update, and delete Documents on Basecamp.
すべてのDocuments(すべてのProjects の)を取得し、特定のProject に属するDocuments を選択し、もしくは特定のProject と特定のDocument を同時に指定することが可能です(ProjectId およびId は、Basecamp によって検索条件としてサポートされているカラムです)。
Documents をUpdatedAt、CreatedAt、もしくはTitle でソートすることができます。
SELECT * FROM Documents WHERE ProjectId = '11111111' AND Id = '1234567689' SELECT * FROM Documents ORDER BY UpdatedAt SELECT * FROM Documents ORDER BY Title DESC
主要なProject に新しいDocument を追加するには、ProjectId を指定し、Document のタイトルもしくは何らかのContent を入力します。
INSERT INTO Documents (ProjectId, Title, Content) VALUES ('11111111', 'Memo', 'This is our document content')
Document の更新および削除には、ProjectId およびDocument Id を指定します。
UPDATE Documents SET Title = 'Updated Memo3', Content = 'Updated Content of Memo.' WHERE ProjectId = '11111111' AND Id = '1234567689' DELETE FROM Documents WHERE ProjectId = '11111111' AND Id = '12345678'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The unique identifier for the document. | |
| AppUrl | String | True |
The app URL. | |
| BucketAppUrl | String | True |
The topic bucket app url. | |
| BucketColor | String | True |
The to-do bucket color. | |
| BucketId | String | True |
The to-do bucket Id. | |
| BucketName | String | True |
The to-do bucket name. | |
| BucketType | String | True |
The to-do bucket type. | |
| BucketUrl | String | True |
The to-do bucket URL. | |
| Content | String | False |
The content of the document. | |
| CreatedAt | Datetime | True |
The date and time when the document was created. | |
| CreatorAvatarUrl | String | False |
Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | False |
Creator full-size avatar URL. | |
| CreatorId | String | False |
The Id of the creator of the document. | |
| CreatorName | String | False |
The name of the creator of the document. | |
| LastUpdaterId | String | False |
The Id of the person who last updated the document. | |
| LastUpdaterName | String | False |
The name of the person who last updated the document. | |
| Private | Boolean | False |
Whether this to-do is private. | |
| SubscribersId | String | False |
The Id of the subscriber to the document. | |
| SubscribersName | String | False |
The name of the subscriber to the document. | |
| Title | String | False |
The title of the document. | |
| Trashed | Boolean | False |
Boolean value for deleted to-dos. | |
| UpdatedAt | Datetime | True |
The date and time when the document was last updated. | |
| URL | String | True |
The URL of the document. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| ProjectId | String |
The Id of the Project associated with the document. |
Retrieve and delete People on Basecamp.
組織のすべての人を取得し、より多くの情報を取得するにはId を指定し、だれが削除されたかを確認できます(管理者アクセスが必要です)。Basecamp において検索条件としてサポートされているカラムはId およびTrashed です。
SELECT * FROM People WHERE Id = '123456789' SELECT * FROM People WHERE Trashed = true
Accesses テーブルを通じてProjects に新しい人を直接招待することができます。
UUPDATE 処理はPeople テーブルではサポートされていません。
組織からレコードを削除するにはPerson のId を指定します。
DELETE FROM People WHERE Id = '123456789'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The unique identifier for the person. | |
| AccountOwner | Boolean | True |
Boolean value to show if the current person is the account owner. | |
| Admin | Boolean | True |
Boolean value to show if the current person is an admin or not. | |
| AssignedTodosCount | Integer | True |
Number of assigned to-dos. | |
| AssignedTodosUpdatedAt | Datetime | True |
The date and time when the record was updated. | |
| AssignedTodosUrl | String | True |
The URL of the assigned to-do. | |
| AppUrl | String | True |
The app URL. | |
| AvatarUrl | String | True |
The avatar URL of the person. | |
| CalendarEventsTodayCount | Integer | True |
Number of events for today. | |
| CanCreateProjects | Boolean | True |
Whether the person can create projects or not. | |
| CreatedAt | Datetime | True |
The date and time when the record was created. | |
| EmailAddress | String | True |
The email address of the person. | |
| EventsAppUrl | String | True |
The events app URL. | |
| EventsCount | Integer | True |
Number of events. | |
| EventsUpdatedAt | Datetime | True |
The date and time when the event was updated. | |
| EventsUrl | String | True |
The URL of the assigned to-do. | |
| FullsizeAvatarUrl | String | True |
The full-size avatar URL of the person. | |
| HasBasecampSiblings | Boolean | False |
Boolean value for Basecamp siblings. | |
| IdentityId | String | True |
The identity Id of the person. | |
| Name | String | True |
The name of the person. | |
| OutstandingTodosCount | Integer | True |
Number of outstanding to-dos. | |
| Trashed | Boolean | False |
Boolean value for deleted people. | |
| UpdatedAt | Datetime | True |
The date and time when the record was last updated. | |
| Url | String | True |
The URL of the person. |
Retrieve, create, update, and delete Projects on Basecamp.
組織のすべてのアクティブなProjects を取得し、Drafts およびArchived Projects でレコードをフィルタし、より多くの情報にはProject Id を設定することができます。Basecamp において検索条件としてサポートされているカラムは、Drafts、Archived、およびId です。
SELECT * FROM Projects WHERE Drafts = True SELECT * FROM Projects WHERE Advanced = True SELECT * FROM Projects WHERE Id = '11111111'
新しいProject を作成するには、少なくてもName およびDescription プロパティを指定する必要があります。
INSERT INTO Projects (Name, Description) VALUES ('Test Proj', 'This is a new test project.')
アクセスしたことのあるプロジェクトを更新もしくは削除するには、Project Id を設定してください。
UPDATE Projects SET Name = 'Updated Proj', Description = 'This is an updated test project.' WHERE Id = '11111111' DELETE FROM Projects WHERE Id = '11111111'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The unique identifier of the project. | |
| AccessesAppUrl | String | True |
The accesses app URL. | |
| AccessesCount | Integer | True |
The accesses count. | |
| AccessesUpdatedAt | Datetime | True |
Time when accesses were updated. | |
| AccessesUrl | String | True |
The accesses URL. | |
| AppUrl | String | True |
The app URL. | |
| Archived | Boolean | False |
When user archives a project, this value will be set to true. | |
| AttachmentsAppUrl | String | True |
The attachments app URL. | |
| AttachmentsCount | Integer | True |
The attachments count. | |
| AttachmentsUpdatedAt | Datetime | True |
Time when attachments were updated. | |
| AttachmentsUrl | String | True |
The attachments URL. | |
| CalendarEventsAppUrl | String | True |
The calendar events app URL. | |
| CalendarEventsCount | Integer | True |
The calendar events count. | |
| CalendarEventsUpdatedAt | Datetime | True |
Time when calendar events were updated. | |
| CalendarEventsUrl | String | True |
The calendar events URL. | |
| Color | String | True |
Color. | |
| CreatedAt | Datetime | True |
The creation time of the project. | |
| CreatorAvatarUrl | String | False |
Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | False |
Creator full-size Avatar URL. | |
| CreatorId | String | False |
The Id of the creator. | |
| CreatorName | String | False |
The name of the creator. | |
| Description | String | False |
The description of the project. | |
| DocumentsAppUrl | String | True |
The documents app URL. | |
| DocumentsCount | Integer | True |
The documents count. | |
| DocumentsUpdatedAt | Datetime | True |
Time when documents were updated. | |
| DocumentsUrl | String | True |
The documents URL. | |
| Drafts | Boolean | False |
Boolean value for a draft project. | |
| ForwardsAppUrl | String | True |
The forwards app URL. | |
| ForwardsCount | Integer | True |
The forwards count. | |
| ForwardsUpdatedAt | Datetime | True |
Time when forwards were updated. | |
| ForwardsUrl | String | True |
The forwards URL. | |
| IsClientProject | Boolean | False |
Whether the project is related to clients or not. | |
| LastEventAt | Datetime | False |
Time when the project was last modified. | |
| Name | String | False |
The name of the project. | |
| Starred | Boolean | False |
Boolean value for a starred project. | |
| Template | Boolean | False |
Boolean value for a template project. | |
| TodolistsAppUrl | String | True |
The todolists app URL. | |
| TodolistsCompletedCount | Integer | True |
The todolists completed count. | |
| TodolistsRemainingCount | Integer | True |
The todolists remaining count. | |
| TodolistsUpdatedAt | Datetime | True |
Time when todolists were updated. | |
| TodolistsUrl | String | True |
The todolists URL. | |
| TopicsAppUrl | String | True |
The topics app URL. | |
| TopicsCount | Integer | True |
The topics count. | |
| TopicsUpdatedAt | Datetime | True |
Time when topics were updated. | |
| TopicsUrl | String | True |
The topics URL. | |
| Trashed | Boolean | False |
Boolean value for a trashed project. | |
| UpdatedAt | Datetime | True |
Time when the project was updated. | |
| URL | String | True |
The URL of the project. |
ビューは、データを示すという点でテーブルに似ていますが、ビューは読み取り専用です。
クエリは、ビューに対して通常のテーブルと同様に実行することができます。
| Name | Description |
| Attachments | Retrieve Attachments on Basecamp. |
| Comments | Retrieve, create, update, and delete Calendars on Basecamp. |
| Events | Retrieve activity Events on Basecamp. |
| Forwards | Retrieve Forwards on Basecamp. |
| ToDoLists | Retrieve ToDoLists on Basecamp. |
| ToDos | Retrieve ToDos on Basecamp. |
| Topics | Retrieve Topics on Basecamp. |
Retrieve Attachments on Basecamp.
| Name | Type | References | Description |
| Id [KEY] | String | The Id of the attachment. | |
| Key | String | The key of the attachment. | |
| Name | String | The name of the attachment. | |
| ByteSize | Int | The size of the attachment in bytes. | |
| CreatedAt | Datetime | The date when the attachment was created. | |
| UpdatedAt | Datetime | The date when the attachment was last updated. | |
| Url | String | The Url of the attachment. | |
| AppUrl | String | The AppUrl of the attachment. | |
| ThumbnailUrl | String | The Thumbnail Url of the attachment. | |
| Private | Boolean | Indicates if the attachemtn is private. | |
| Trashed | Boolean | Indicates if the attachment is trashed. | |
| Tags | String | The tags of the attachment. | |
| CreatorId | String | The Id of the attachment creator. | |
| CreatorName | String | The name of the attachment creator. | |
| CreatorAvatarUrl | String | The avatar url of the attachment creator. | |
| CreatorFullsizeAvatarUrl | String | The url of the full sized avatar of the attachment creator. | |
| AttachableId | String | The Id of the attachable. | |
| AttachableType | String | The type of the attachable. | |
| AttachableUrl | String | The Url of the attachable. | |
| AttachableAppUrl | String | The AppUrl of the attachable. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | String | The id of the project |
Retrieve, create, update, and delete Calendars on Basecamp.
プラットフォーム上のすべてのアクティブなComments を取得できます。テーブルの任意のフィールドで結果をフィルタリングできます。
SELECT * FROM Comments WHERE ProjectId = '1111111' AND ItemType = 'Message'
| Name | Type | References | Description |
| Id [KEY] | String | The unique identifier for the comment. | |
| ProjectId [KEY] | String | The unique identifier for the project where the comment is contained. | |
| ItemId | String | The unique identifier for the topic containing the comment. | |
| ItemType | String | Type of the object containing the comment. Valid values are: Message, Document, Forward, CalendarEvent, Upload, Todolist, Todo. | |
| AttachmentsAggregate | String | The attachments related to the comment. | |
| Content | String | The content of the comment. | |
| Private | Boolean | Privacy of the comment | |
| Trashed | Boolean | If the comment was trashed or not. | |
| CreatedAt | Datetime | The date and time when the document was created. | |
| CreatorAvatarUrl | String | Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | Creator full-size avatar Url. | |
| CreatorId | String | The Id of the creator of the comment. | |
| CreatorName | String | The name of the creator of the comment. | |
| UpdatedAt | Datetime | The date and time when the comment was last updated. |
Retrieve activity Events on Basecamp.
Events のすべてのアクティビティの取得、もしくは作成日でデータをフィルタできます。Basecamp において検索条件としてサポートされているカラムおよび演算子は以下のとおりです。
| カラム | 演算子 |
| ProjectId | = |
| PersonId | = |
| CreatedAt | >, >= |
例えば、次のクエリは、特定の日にち以降に特定の人に発生したアクティビティを取得します。
SELECT * FROM Events WHERE CreatedAt >= '2016-01-01' AND PersonId = '1111111'
| Name | Type | References | Description |
| Id [KEY] | String | The unique identifier of the event. | |
| Action | String | The action description for the event. | |
| BucketAppUrl | String | The calendar events app URL. | |
| BucketColor | String | The bucket event color. | |
| BucketId | String | The bucket event Id. | |
| BucketName | String | The bucket event name. | |
| BucketType | String | The bucket event type. | |
| BucketUrl | String | The bucket event URL. | |
| CreatedAt | Datetime | The date and time when the event was created. | |
| CreatorAvatarUrl | String | Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | Creator full-size avatar URL. | |
| CreatorId | String | The Id of the event creator. | |
| CreatorName | String | The name of the event creator. | |
| EventableAppUrl | String | Eventable App URL. | |
| EventableId | String | Eventable Id. | |
| EventableType | String | Eventable type. | |
| EventableUrl | String | Eventable URL. | |
| Excerpt | String | The type of excerpt for this event. | |
| HtmlUrl | String | The HTML URL of the event. | |
| Private | Boolean | Whether the event is private. | |
| RawExcerpt | String | The raw excerpt type for this event. | |
| Summary | String | The summary for the event. | |
| Target | String | The target project of this event. | |
| UpdatedAt | Datetime | The date and time when the event was last updated. | |
| URL | String | The URL of the event. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | String | The Id of the Project associated with this event. | |
| PersonId | String | The Id of the Person associated with this event. |
Retrieve Forwards on Basecamp.
| Name | Type | References | Description |
| Id [KEY] | String | The id of the forward. | |
| Subject | String | The subject of the forward. | |
| From | String | ||
| CreatedAt | Datetime | The date when the forward was created. | |
| UpdatedAt | Datetime | The date when the forward was last updated. | |
| Url | String | The Url of the forward. | |
| AppUrl | String | The AppUrl of the forward. | |
| Private | Boolean | Indicates if the forward is private. | |
| Trashed | Boolean | Indicates if the forward is trashed. | |
| BucketId | String | The bucket Id of the forward. | |
| BucketName | String | The bucket name of the forward. | |
| BucketType | String | The bucket type of the forward. | |
| BucketUrl | String | The bucket Url of the forward. | |
| BucketAppUrl | String | The bucket app url of the forward. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | String | The Id of the project |
Retrieve ToDoLists on Basecamp.
次のカラムはBasecamp において検索条件としてサポートされています:
CreateAt は'>' もしくは'>=' 演算子と共に使うことができます。
次のクエリは、特定の日にちから、あるProject に属する完了されたToDoLists のみを取得します:
SELECT * FROM ToDoLists WHERE ProjectId = '11111111' AND Completed = True AND CreatedAt > '2016-01-01'M
次のクエリは、あるProject から1つのToDoList を取得します。
SELECT * FROM ToDoLists WHERE ProjectId = '11111111' AND Id = '123456789'
次のクエリは、ある個人にアサインされたToDoLists を取得します。
SELECT * FROM ToDoLists WHERE PersonId = '11111111'
| Name | Type | References | Description |
| Id [KEY] | String | The unique identifier of the topic. | |
| AppUrl | String | The app URL. | |
| AssignedTodos | String | Assigned to-dos. | |
| BucketAppUrl | String | The topic bucket app URL. | |
| BucketColor | String | The to-do bucket color. | |
| BucketId | String | The to-do bucket Id. | |
| BucketName | String | The to-do bucket name. | |
| BucketType | String | The to-do bucket type. | |
| BucketUrl | String | The to-do bucket URL. | |
| Completed | Boolean | Whether the to-do list is completed. | |
| CompletedCount | Integer | Number of completed to-dos. | |
| CreatedAt | Datetime | The date and time when the record was created. | |
| CreatorAvatarUrl | String | Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | Creator full-size avatar URL. | |
| CreatorId | String | The Id of the creator. | |
| CreatorName | String | The name of the creator. | |
| Description | String | The to-do list description. | |
| Name | String | The name of the to-do list. | |
| Position | Integer | Position number of the current to-do list. | |
| Private | Boolean | Whether the to-do list is private. | |
| RemainingCount | Integer | Number of unfinished to-dos. | |
| SubscribersId | String | The Id of the subscriber. | |
| SubscribersName | String | The name of the subscriber. | |
| ToDos | String | To-dos list. | |
| Trashed | Boolean | Boolean value for deleted to-do lists. | |
| UpdatedAt | Datetime | The date and time when the record was last updated. | |
| URL | String | The URL of the to-do list. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | String | The Id of the Project associated with the to-do list. | |
| PersonId | String | The Id of the Person associated with the to-do list. |
Retrieve ToDos on Basecamp.
Basecamp において検索条件としてサポートされているカラムは以下のとおりです:
DueAt およびDueOn は'>' もしくは'>=' 演算子と共に使うことができます。
次のクエリは、あるProject に属する完了されたToDos のみを取得します。
SELECT * FROM ToDos WHERE ProjectId = '11111111' AND Completed = True
次のクエリは、ある日にちを基準に期限が来ているToDos のみをフィルタします。
SELECT * FROM ToDos WHERE ProjectId = '11111111' AND DueAt > '2016-01-01'
次のクエリは、Todo リストに属する残りのToDos をリストします。
SELECT * FROM ToDos WHERE ProjectId = '11111111' AND ToDoListId = '123456789' AND Remaining = true
| Name | Type | References | Description |
| Id [KEY] | String | The unique identifier of the topic. | |
| AppUrl | String | The app URL. | |
| AssigneeId | String | Id of the person assigned to. | |
| AssigneeName | String | Name of the person assigned to. | |
| AssigneeType | String | Type of assignee. | |
| CommentsCount | Integer | Number of comments on this to-do. | |
| Completed | Boolean | Whether the to-do is completed. | |
| Content | String | Description of the to-do. | |
| CreatedAt | Datetime | The date and time when the record was created. | |
| CreatorAvatarUrl | String | Creator Avatar URL. | |
| CreatorFullsizeAvatarUrl | String | Creator full-size avatar URL. | |
| CreatorId | String | The Id of the creator. | |
| CreatorName | String | The name of the creator. | |
| DueAt | Datetime | The date and time when the to-do is set due. | |
| DueOn | Datetime | The date and time when the to-do is set due. | |
| Position | Integer | Position number of the current to-do on the list. | |
| Private | Boolean | Whether this to-do is private. | |
| Remaining | Boolean | Boolean value for remaining to-dos. | |
| SubscribersId | String | The Id of the subscriber. | |
| SubscribersName | String | The name of the subscriber. | |
| ToDoList | String | To-do list. | |
| ToDoListId | String | The to-do list Id. | |
| Trashed | Boolean | Boolean value for deleted to-dos. | |
| UpdatedAt | Datetime | The date and time when the record was last updated. | |
| URL | String | The URL of the to-do. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | String | The Id of the Project associated with the to-do. |
Retrieve Topics on Basecamp.
すべてのアクティブなTopics、Project に属するTopics のソート、もしくはアーカイブされたTopics のみを取得することができます(ProjectId およびArchived は、Basecamp によって検索条件としてサポートされているカラムです)。
SELECT * FROM Topics WHERE ProjectId = '1111111' ORDER BY UpdatedAt ASC SELECT * FROM Topics WHERE ProjectId = '1111111' AND Archived = True
| Name | Type | References | Description |
| Id [KEY] | String | The unique identifier of the topic. | |
| Archived | Boolean | Boolean value for archived topics. | |
| Attachments | Integer | The number of attachments to the topic. | |
| BucketAppUrl | String | The topic bucket app URL. | |
| BucketColor | String | The bucket topic color. | |
| BucketId | String | The bucket topic Id. | |
| BucketName | String | The bucket topic name. | |
| BucketType | String | The bucket topic type. | |
| BucketUrl | String | The bucket topic URL. | |
| CreatedAt | Datetime | The date and time when the record was created. | |
| Excerpt | String | The excerpt from the latest comment on the topic. | |
| LastUpdaterId | String | The Id of the person who made the last comment. | |
| LastUpdaterName | String | The name of the person who last updated the topic. | |
| Private | Boolean | Whether the topic is private. | |
| Title | String | The title of the topic. | |
| TopicableAppUrl | String | The URL of the topicable Basecamp entity. | |
| TopicableId | String | The Id of the topicable Basecamp entity. | |
| TopicableType | String | The type of the topicable Basecamp entity. | |
| TopicableUrl | String | The URL of the topicable Basecamp entity. | |
| Trashed | Boolean | Boolean value for deleted topics. | |
| UpdatedAt | Datetime | The date and time when the record was last updated. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | String | The Project Id. |
このセクションでは、Basecamp 3アカウントへの接続に使用できるテーブル、ビュー、およびストアドプロシージャ について説明します。
Sync App はBasecamp のデータを、標準のSQL ステートメントを使用してクエリできるリレーショナルデータベースのテーブルのリストとしてモデル化します。
| Name | Description |
| CalendarEvents | Retrieve calendar events on Basecamp 3. |
| CardTableCards | Create, Update, and Query the Card table cards. |
| CardTableColumns | Create, Update, and Query the Card table columns. |
| Comments | Retrieve comments on a Basecamp 3 recording. |
| Documents | Retrieve, create, update, and delete Documents on Basecamp 3. |
| Messages | Retrieve messages on Basecamp 3. |
| Projects | Retrieve, create, update, and delete Projects on Basecamp 3. |
| ToDoLists | Retrieve ToDoLists on Basecamp 3. |
| ToDos | Retrieve ToDos on Basecamp 3. |
| Vaults | Retrieve Vaults(folders) on Basecamp 3 folders. |
Retrieve calendar events on Basecamp 3.
指定したプロジェクトのCalendar Events をクエリできます。
次のカラムはBasecamp において検索条件としてサポートされています:
If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM CalendarEvents WHERE ProjectId = '11111111' AND CalendarId = '22222222' AND Status = 'active'
You can also retrieve a single calendar event by specifying the Id.
SELECT * FROM CalendarEvents WHERE ProjectId = '11111111' AND Id = '33333333'
You can insert a new Calendar Event by providing the ProjectId, CalendarId, StartsAt, EndsAt, and Summary as required parameters.
INSERT INTO CalendarEvents (ProjectId, CalendarId, Summary, StartsAt, EndsAt, Description, Notify, ParticipantsIds ) VALUES ( '1111111', '2222222', 'summary test', '2017-11-11 09:00Z', '2017-11-11 11:00Z', 'description', 'false', '3333333, 4444444')
You can also change the Calendar Event by providing the ProjectId and event Id.
UPDATE CalendarEvents SET Summary = 'Updated summary', StartsAt = '2017-11-12', EndsAt = '2017-11-12', AllDay = 'true' WHERE ProjectId = '11111111' AND Id = '1234567689'
Calendar Events cannot be deleted.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier of the calendar event. | |
| ProjectId | Long | True |
Projects.Id |
The Project Id associated with the schedule. |
| CalendarId | Long | True |
Projects.CalendarId |
The Calendar Id that the event belongs to. |
| Status | String | True |
The status of the calendar event. | |
| Type | String | True |
The type of the returned record. | |
| CreatedAt | Datetime | True |
The date and time when the calendar event was created. | |
| UpdatedAt | Datetime | True |
The date and time when the calendar event was last updated. | |
| Description | String | False |
Provided description for the calendar event. | |
| AllDay | Boolean | False |
Indicates that the event is an all day event. | |
| StartsAt | Datetime | False |
The date and time when the calendar event starts. | |
| EndsAt | Datetime | False |
The date and time when the calendar event ends. | |
| Summary | String | False |
Provided summary for the calendar event. | |
| ParticipantsIds | String | False |
A list of comma separated participant ids. | |
| ParticipantsNames | String | True |
A list of comma separated participant names. | |
| ParentTitle | String | True |
Title of the parent. | |
| ParentType | String | True |
Type of the parent. | |
| BucketName | String | True |
Name of the containing bucket. | |
| BucketType | String | True |
Type of the containing bucket. | |
| CreatorId | Long | True |
People.Id |
The Id of the creator. |
| CreatorName | String | True |
The name of the creator. | |
| CommentsCount | Integer | True |
Number of comments the document has. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| Notify | String |
When set to true, will notify the participants about the event. |
Create, Update, and Query the Card table cards.
SELECT * FROM CardTableCards WHERE ProjectId = '37595039' AND CardTableColumnId = '7416523073' SELECT * FROM CardTableCards WHERE ProjectId = '37595039' AND Id = '7416545710'
The columns CardTableColumnId, ProjectId and Title are required to insert.
INSERT INTO CardTableCards(ProjectId, CardTableColumnId, Title, Content, DueOn) VALUES('37595039', '7416523073', 'Test title2', 'Test Content2', '2025-01-02')
You must specify the ProjectId and Id of the CardTableCard to update it.
UPDATE CardTableCards SET Title = 'Updated title' WHERE ProjectId = '37595039' AND Id = '7420207738'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
Projects.KanbanBoardId |
Id of the Card Table column. |
| ProjectId | Long | True |
Projects.Id |
The Project Id. |
| CardTableColumnId | Long | True |
The CardTableColum Id. | |
| VisibleToClients | Boolean | True |
Boolean value representing whether the columns are visible to clients. | |
| CreatedAt | Datetime | True |
The creation date. | |
| UpdatedAt | Datetime | True |
The updation date. | |
| Title | String | False |
Title. | |
| InheritsStatus | Boolean | True |
Inherits status. | |
| Type | String | True |
Type. | |
| Url | String | True |
Url. | |
| AppUrl | String | True |
App url. | |
| BookmarkUrl | String | True |
Bookmark url. | |
| SubscriptionUrl | String | True |
Subscription url. | |
| Position | Integer | True |
Position. | |
| ParentId | Long | True |
Parent Id. | |
| ParentTitle | String | True |
Parent title. | |
| ParentType | String | True |
Parent Type. | |
| ParentUrl | String | True |
Parent url. | |
| ParentAppUrl | String | True |
Parent app url. | |
| BucketId | Long | True |
Project Id. | |
| BucketName | String | True |
Project name. | |
| BucketType | String | True |
Project type. | |
| CreatorId | Long | True |
People.Id |
Creator Id. |
| Description | String | False |
Description. | |
| Completed | Boolean | True |
Completed. | |
| Content | String | False |
Content. | |
| DueOn | Datetime | False |
Due date. | |
| CommentCount | Integer | True |
Comment count. | |
| CommentsCount | Integer | True |
Comments count. | |
| CommentsUrl | String | True |
Comments Url. | |
| Assignees | String | True |
Assigness. | |
| CompletionSubscribers | String | True |
Completion subscribers. | |
| CompletionUrl | String | True |
Completion url. |
Create, Update, and Query the Card table columns.
SELECT * FROM CardTableColumns WHERE ProjectId = '37595039' AND Id = '7416500344'
The columns CardId, ProjectId and Title are required to insert.
INSERT INTO CardTableColumns(CardId, ProjectId, Title, Description) VALUES('7416037619', '37595039', 'testTitle', 'testDesc')
You must specify the ProjectId and Id of the CardTableColumn to update it.
UPDATE CardTableColumns SET Title = 'Updated title' WHERE ProjectId = '37595039' AND Id = '7416500344'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
Id of the Card Table column. | |
| ProjectId | Long | True |
Projects.Id |
The Project Id. |
| Status | String | True |
Status. | |
| VisibleToClients | Boolean | True |
Boolean value representing whether the columns are visible to clients. | |
| CreatedAt | Datetime | True |
The creation date. | |
| UpdatedAt | Datetime | True |
The updation date. | |
| Title | String | False |
Title. | |
| InheritsStatus | Boolean | True |
Inherits status. | |
| Type | String | True |
Type. | |
| Url | String | True |
Url. | |
| AppUrl | String | True |
App url. | |
| BookmarkUrl | String | True |
Bookmark url. | |
| SubscriptionUrl | String | True |
Subscription url. | |
| Position | Integer | True |
Position. | |
| ParentId | Long | True |
Parent Id. | |
| ParentTitle | String | True |
Parent title. | |
| ParentType | String | True |
Parent Type. | |
| ParentUrl | String | True |
Parent url. | |
| ParentAppUrl | String | True |
Parent app url. | |
| BucketId | Long | True |
Project Id. | |
| BucketName | String | True |
Project name. | |
| BucketType | String | True |
Project type. | |
| CreatorId | Long | True |
People.Id |
Creator Id. |
| Description | String | False |
Description. | |
| Subscribers | String | True |
Subscribers. | |
| Color | String | True |
Color. | |
| CardsCount | Integer | True |
Cards count. | |
| CommentCount | Integer | True |
Comments count. | |
| CardsUrl | String | True |
Cards url. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| CardId | Long |
The Card Id. |
Retrieve comments on a Basecamp 3 recording.
The columns in Comments are filtered client side. You can either get all comments for a recording by specifying the RecordingId or you can get a certain comment by specifying its Id.
If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM Comments WHERE ProjectId = '11111111' AND RecordingId = '222222222' AND Content = 'Exempli gratia' AND CreatedAt < '2017-04-18T15:53:38.040-06:00'
You can also retrieve a single comment by specifying the Id (given that you've specified the ProjectId in the connection)
SELECT * FROM Comments WHERE Id = '1234567'
You can insert a new comment, by providing the required ProjectId, RecordingId, and Content.
INSERT INTO Comments (Content, ProjectId, RecordingId) VALUES ('Very informative document. Thanks!', 114857506, 392946856)
You can change the columns that are not read-only by providing the Id, ProjectId, and new values.
UPDATE Comments SET Content = 'I like this better now' WHERE ProjectId = '18061798' AND Id = '1308746423'
Comments cannot be deleted (unsupported by the API).
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The ID of the comment. | |
| Content | String | False |
The conent of the comment. | |
| Title | String | True |
The title of the comment. | |
| Status | String | True |
The status of the comment. | |
| CreatedAt | Datetime | True |
The time the comment was created. | |
| UpdatedAt | Datetime | True |
The time the comment was last updated. | |
| InheritsStatus | Boolean | True |
Whether this comment inherits its status or not. | |
| URL | String | True |
The URL of the comment. | |
| VisibleToClients | Boolean | True |
Whether this comment is visible to clients or not. | |
| ProjectId | Long | False |
Projects.Id |
The ID of the project this comment is a child of. A project contains recordings. |
| ProjectName | String | True |
The name of the project this comment is a child of. | |
| RecordingId | Long | False |
Recordings.Id |
The ID of the recording the comment is written on. A recording can be a comment, document, message, question::answer, schedule::entry, todo, todolist or upload. |
| CommenterId | String | True |
The ID of the commenter. | |
| CommenterName | String | True |
The name of the commenter. | |
| CommenterIsAdmin | Boolean | True |
Whether the commenter is an admin or not. | |
| CommenterIsOwner | Boolean | True |
Whether the commenter is the owner of the recording or not. | |
| CommenterTitle | String | True |
The commenter's title. | |
| CommenterEmail | String | True |
The email address of the commenter. | |
| CommenterAvatarURL | String | True |
The URL of the avatar of the commenter. | |
| CommenterCompanyId | String | True |
The company ID of the commenter. | |
| CommenterCompanyName | String | True |
The name of the company of the commenter. | |
| AppURL | String | True |
The URL of the app this comment belongs to. | |
| BookmarkURL | String | True |
The URL of the bookmark. | |
| CommenterAttachableSGID | String | True |
Te attachable SGID of the commenter. |
Retrieve, create, update, and delete Documents on Basecamp 3.
You can retrieve all documents belonging to a certain Project and Vault only, or specify a Project and a certain Document at the same time (ProjectId, VaultId and Id are the only columns supported as search criteria by Basecamp).
If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM Documents WHERE ProjectId = '11111111' AND VaultId = '222222222' SELECT * FROM Documents WHERE ProjectId = '11111111' AND Id = '1234567689'
To add a new document to a major project, you need to specify the ProjectId, Vaultid, Title, Content, and Status (optional).
INSERT INTO Documents (ProjectId, Vaultid, Title, Content, Status) VALUES ('11111111', '222222222', 'Memo', 'This is our document content', 'active')
Specify the ProjectId and the document Id to update a document.
UPDATE Documents SET Title = 'Updated Memo3', Content = 'Updated Content of Memo.' WHERE ProjectId = '11111111' AND Id = '1234567689'
DELETE is not supported for this table.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier for the document. | |
| ProjectId | Long | True |
Projects.Id |
The Id of the Project associated with the document. |
| VaultId | Long | True |
Vaults.Id |
The Vault Id associated with the document. |
| Status | String | False |
The status of the vault. | |
| Title | String | False |
The title of the document. | |
| Content | String | False |
The content of the Document | |
| Type | String | True |
The type of the returned record. | |
| CreatedAt | Datetime | True |
The date and time when the document was created. | |
| UpdatedAt | Datetime | True |
The date and time when the document was last updated. | |
| ParentTitle | String | True |
Title of the parent. | |
| ParentType | String | True |
Type of the parent. | |
| BucketName | String | True |
Name of the containing bucket. | |
| BucketType | String | True |
Type of the containing bucket. | |
| CreatorId | Long | True |
People.Id |
The Id of the creator. |
| CreatorName | String | True |
The name of the creator. | |
| CommentsCount | Integer | True |
Number of comments the document has. |
Retrieve messages on Basecamp 3.
You can query messages posted on the message board of the specified project.
The columns supported as search criteria by Basecamp are ProjectId, MessageBoardId.
If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM Messages WHERE ProjectId = '11111111' AND MessageBoardId = '22222222'
You can also retrieve a single message by specifying the Id.
SELECT * FROM Messages WHERE ProjectId = '11111111' AND Id = '33333333'
You can insert a new message, by providing the required ProjectId, MessageBoardId, and Subject in addition to the message related parameters.
INSERT INTO Messages (ProjectId, MessageBoardId, Content, Subject, Status ) VALUES ('1111111', '2222222', 'Content test', 'Subject test', 'active')
You can also update messages by providing the ProjectId and message Id.
UPDATE Messages SET subject = 'Updated subject', content = 'Updated content' WHERE ProjectId = '11111111' AND Id = '1234567689'
Messages cannot be deleted.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier of the message. | |
| ProjectId | Long | True |
Projects.Id |
The Project Id associated with the schedule. |
| MessageBoardId | Long | True |
Projects.MessageBoardId |
The Message Board Id that the message belongs to. |
| Status | String | False |
The status of the message | |
| Type | String | True |
The type of the returned record. | |
| CreatedAt | Datetime | True |
The date and time when the message was created. | |
| UpdatedAt | Datetime | True |
The date and time when the message was last updated. | |
| Content | String | False |
Provided content for the message | |
| Subject | String | False |
Subject of the message | |
| ParentTitle | String | True |
Title of the parent. | |
| ParentType | String | True |
Type of the parent. | |
| BucketName | String | True |
Name of the containing bucket. | |
| BucketType | String | True |
Type of the containing bucket. | |
| CreatorId | Long | True |
People.Id |
The Id of the creator. |
| CreatorName | String | True |
The name of the creator. | |
| CategoryId | Long | False |
The Id of the category. | |
| CategoryName | String | True |
The name of the category. | |
| CommentsCount | Integer | True |
Number of comments the document has. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| IncludeReplies | Boolean |
Set this to true to retrieve replies for each message. |
Retrieve, create, update, and delete Projects on Basecamp 3.
You can retrieve all active Projects from the organization, or set a project Id to retrieve a single project. Id is the only column supported as search criteria by Basecamp.
SELECT * FROM Projects WHERE Id = '11111111'
Specify at least the Name and optionally Description properties to create a new Project.
INSERT INTO Projects (Name, Description) VALUES ('Test Proj', 'This is a new test project.')
Set the Project Id to update or delete a project you have access to.
UPDATE Projects SET Name = 'Updated Project', Description = 'This is an updated test project.' WHERE Id = '11111111' DELETE FROM Projects WHERE Id = '11111111'
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier of the project. | |
| Status | String | True |
The status of the project. | |
| Purpose | String | True |
The purpose of the project. | |
| CreatedAt | Datetime | True |
The creation time of the project. | |
| UpdatedAt | Datetime | True |
Time when the project was updated. | |
| Description | String | False |
The description of the project. | |
| Name | String | False |
The name of the project. | |
| Bookmarked | Boolean | False |
Boolean value for a bookmarked project. | |
| CalendarId | Long | True |
Id of the project's Calendar. | |
| ChatId | Long | True |
Id of the project's Chat. | |
| ToDoSetId | Long | True |
Id of the project's ToDo Set. | |
| MessageBoardId | Long | True |
Id of the project's Message Board. | |
| QuestionnaireId | Long | True |
Id of the project's Questionnaire. | |
| VaultId | Long | True |
Id of the project's Vault. | |
| InboxId | Long | True |
Id of the project's Inbox. | |
| KanbanBoardId | Long | True |
Id of the project's Kanban Board. |
Retrieve ToDoLists on Basecamp 3.
次のカラムはBasecamp において検索条件としてサポートされています:
ToDoSetId can be retrieved in the Projects table.
The following query retrieves only completed to-do lists belonging to a certain Project and a certain Status. If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM ToDoLists WHERE ProjectId = '11111111' AND ToDoSetId = '2222222' AND Status = 'active'
The following query retrieves a single ToDoList from a certain Project.
SELECT * FROM ToDoLists WHERE ProjectId = '11111111' AND Id = '123456789'
Specify the Name, ProjectId, Description (optional), and the ToDoSetId to insert a to-do list.
INSERT INTO ToDoLists (Name, Description, ProjectId, ToDoSetId ) VALUES ('Name', 'desc', '11111111', '2222222')
Basecamp allows changing the name and description of the to-do list, provided that the ProjectId and to-do list Id are included in the query:
UPDATE ToDoLists SET Name = 'Updated Name', Description = 'Updated desc' WHERE ProjectId = '11111111' AND Id = '1234567689'
To-do lists cannot be deleted.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier of the topic. | |
| ProjectId | Long | False |
Projects.Id |
The Id of the Project associated with the to-do list. |
| ToDoSetId | Long | False |
Projects.ToDoSetId |
The Id of the To Do Set the to-do list belongs to. |
| Status | String | True |
The to-do status. | |
| Type | String | True |
The record type. | |
| Name | String | False |
The to-do name. | |
| Completed | Boolean | True |
The to-do state. | |
| CompletedRatio | String | True |
The to-do state in ratio. | |
| Description | String | False |
The to-do list description. | |
| CreatedAt | Datetime | True |
The date and time when the event was created. | |
| UpdatedAt | Datetime | True |
The date and time when the record was last updated. | |
| BucketName | String | True |
The to-do list bucket name. | |
| BucketType | String | True |
The to-do list bucket type. | |
| ParentTitle | String | True |
Title of the parent. | |
| ParentType | String | True |
Type of the parent. | |
| CreatorId | Long | True |
People.Id |
Event creator Id. |
| CreatorAttachableSgid | String | True |
Event creator Attachable SGID. | |
| CreatorName | String | True |
Event creator Name. | |
| CreatorEmailAddress | String | True |
Event creator Email Address. | |
| CreatorTitle | String | True |
Event creator Title. | |
| CreatorBio | String | True |
Event creator Bio. | |
| CreatorCreatedAt | Datetime | True |
Event creator creation date and time. | |
| CreatorUpdatedAt | Datetime | True |
Event creator update date and time. | |
| CreatorAdmin | Boolean | True |
Boolean indicationg if the event creator is an admin. | |
| CreatorOwner | Boolean | True |
Boolean indicationg if the event creator is an owner. | |
| CreatorTimeZone | String | True |
Event creator's timezone. | |
| CreatorCompanyId | Long | True |
Event creator's company Id. | |
| CreatorCompanyName | String | True |
Event creator's company name. | |
| CommentsCount | Integer | True |
Number of coments the document has. |
Retrieve ToDos on Basecamp 3.
次のカラムはBasecamp において検索条件としてサポートされています:
By default, only active to-dos will be retrieved.
If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM ToDos WHERE ProjectId = '11111111' AND ToDoListId = '222222222' AND Status = 'active' AND Completed = True
You can also retrieve a single to-do by specifying the Id.
SELECT * FROM ToDos WHERE ProjectId = '11111111' AND Id = '33333333'
You can insert a new to-do by providing the required ProjectId, ToDoListId, and Content in addition to the to-do related parameters.
INSERT INTO ToDos (Content, Description, DueOn, StartsOn, AssigneeIds, ProjectId, ToDoListId ) VALUES ('What to do', 'description', '2017-11-11', '2017-11-12', '333333333', '1111111111', '22222222')
You can change the columns that are not read-only by providing the ProjectId, to-do Id, and new values.
UPDATE ToDos SET Content = 'Updated content' WHERE ProjectId = '11111111' AND Id = '1234567689'
You can change the Completed state of the to-do by providing the ProjectId and to-do Id. The Completed column can only be updated standalone, and other columns cannot be updated in the same query.
UPDATE ToDos SET Completed = True WHERE ProjectId = '11111111' AND Id = '1234567689'
To-dos cannot be deleted.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier of the todo. | |
| ProjectId | Long | True |
Projects.Id |
The Id of the Project associated with the to-do list. |
| ToDoListId | Long | True |
ToDoLists.Id |
The Id of the To Do list the to-do belongs to. |
| Status | String | True |
The state the todo. | |
| CreatedAt | Datetime | True |
The date and time when the event was created. | |
| UpdatedAt | Datetime | True |
The date and time when the record was last updated. | |
| StartsOn | Date | False |
The date and time when the todo should start. | |
| DueOn | Date | False |
The date and time when the todo is due. | |
| CommentsCount | Integer | True |
Number of coments the document has. | |
| Description | String | False |
The to-do list description. | |
| Content | String | False |
What to do. | |
| AssigneesIds | String | False |
List of assigned user Ids. | |
| Completed | Boolean | False |
The to-do state. | |
| CompletedAt | Datetime | True |
The tdate and time when the todo was completed. | |
| CompletionCreatorId | String | True |
The id of the user who completed the todo. | |
| CompletionCreatorName | String | True |
The name of the user who completed the todo. | |
| BucketName | String | True |
The to-do list bucket name. | |
| BucketType | String | True |
The to-do list bucket type. | |
| ParentTitle | String | True |
Title of the parent. | |
| ParentType | String | True |
Type of the parent. | |
| CreatorId | Long | True |
People.Id |
Event creator Id. |
| CreatorAttachableSgid | String | True |
Event creator Attachable SGID. | |
| CreatorName | String | True |
Event creator Name. | |
| CreatorEmailAddress | String | True |
Event creator Email Address. | |
| CreatorTitle | String | True |
Event creator Title. | |
| CreatorBio | String | True |
Event creator Bio. | |
| CreatorCreatedAt | Datetime | True |
Event creator creation date and time. | |
| CreatorUpdatedAt | Datetime | True |
Event creator update date and time. | |
| CreatorAdmin | Boolean | True |
Boolean indicationg if the event creator is an admin. | |
| CreatorOwner | Boolean | True |
Boolean indicationg if the event creator is an owner. | |
| CreatorTimeZone | String | True |
Event creator's timezone. | |
| CreatorCompanyId | String | True |
Event creator's company Id. | |
| CreatorCompanyName | String | True |
Event creator's company name. |
Retrieve Vaults(folders) on Basecamp 3 folders.
All projects have a primary Vault (folder).Additional Vaults may be nested under the primary Vault or any child Vault.
The columns supported as search criteria by Basecamp are ProjectId, VaultId, and Id. If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM Vaults WHERE ProjectId = '11111111' AND VaultId = '222222222'
You can also retrieve a single To-do by specifying the Id.
SELECT * FROM Vaults WHERE ProjectId = '11111111' Id = '333333333'
You can insert a new Vault by providing the ProjectId, VaultId, and Title, which are required parameters.
INSERT INTO Vaults (Title, ProjectId, Vaultid) VALUES ('InsertedVault', '11111111', '222222222')
You can update the Vault title by providing the ProjectId, VaultId, and the new title.
UPDATE Vaults SET Title = 'Updated title' WHERE ProjectId = '11111111' AND Id = '333333333'
Vaults cannot be deleted.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Long | True |
The unique identifier of the topic. | |
| ProjectId | Long | True |
Projects.Id |
The Project Id associated with the vault. |
| Status | String | True |
The status of the vault. | |
| Title | String | False |
The title of the returned record. | |
| Type | String | True |
The type of the returned record. | |
| CreatedAt | Datetime | True |
The date and time when the record was created. | |
| UpdatedAt | Datetime | True |
The date and time when the record was last updated. | |
| ParentId | Long | True |
Id of the parent. | |
| ParentTitle | String | True |
Title of the parent. | |
| ParentType | String | True |
Type of the parent. | |
| BucketId | Long | True |
Id of the containing bucket. | |
| BucketName | String | True |
Name of the containing bucket. | |
| BucketType | String | True |
Type of the containing bucket. | |
| CreatorId | Long | True |
People.Id |
The Id of the creator. |
| CreatorName | String | True |
The name of the creator. | |
| DocumentsCount | Integer | True |
Number of documents the vault contains. | |
| UploadsCount | Integer | True |
Number of uploads the vault contains. | |
| VaultsCount | Integer | True |
Number of vaults the vault contains. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| VaultId | Long |
The Vault Id that the record belongs to. |
ビューは、データを示すという点でテーブルに似ていますが、ビューは読み取り専用です。
クエリは、ビューに対して通常のテーブルと同様に実行することができます。
| Name | Description |
| Assignments | Retrieve Assignments on Basecamp 3. |
| Calendars | Retrieve calendars on Basecamp 3. |
| Cards | A card table is made of multiple columns which contain cards. |
| Events | Retrieve activity Events on Basecamp 3. |
| People | Retrieve People on Basecamp 3. |
| ProjectTools | Retrieve project tools on Basecamp 3. |
| Recordings | Retrieve recordings on Basecamp 3 folders. |
| Uploads | Retrieve Uploads on Basecamp 3. |
Retrieve Assignments on Basecamp 3.
| Name | Type | References | Description |
| Id [KEY] | Long | The unique identifier for the person. | |
| TodoListId | Long |
ToDoLists.Id | The unique identifier for the todolist. |
| ProjectId | Long |
Projects.Id | Use filter to retrieve active people on the project with the given ID. |
| Name | String | The name of the person. | |
| Owner | Boolean | Boolean value to show if the current person is the account owner. | |
| Admin | Boolean | Boolean value to show if the current person is an admin or not. | |
| Title | String | The title of the person. | |
| Bio | String | Bio description of the person. | |
| CreatedAt | Datetime | The date and time when the record was created. | |
| UpdatedAt | Datetime | The date and time when the record was last updated. | |
| EmailAddress | String | The email address of the person. | |
| AttachableSgid | String | The attachable Set Group ID. | |
| PersonableType | String | Type of the person. | |
| TimeZone | String | Human readable timezone for the user. | |
| CompanyId | Long | Id of users company. | |
| CompanyName | String | Name of users company. |
Retrieve calendars on Basecamp 3.
There is only one Calendar (Schedule) in each Basecamp project.
Retrieve more detail on a specific Calendar (ProjectId and Id are the only columns supported as search criteria by Basecamp).If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM Calendars WHERE ProjectId = '111111111' AND Id = '123456789'
| Name | Type | References | Description |
| Id [KEY] | Long |
Projects.CalendarId | The unique identifier of the calendar. |
| ProjectId | Long |
Projects.Id | The Project Id associated with the calendar. |
| Status | String | The status of the calendar. | |
| Type | String | The type of the returned record. | |
| CreatedAt | Datetime | The date and time when the calendar was created. | |
| UpdatedAt | Datetime | The date and time when the calendar was last updated. | |
| Title | String | Title of the calendar. | |
| EntriesCount | Integer | Number of calendar events. | |
| BucketId | Long | Id of the containing bucket. | |
| BucketName | String | Name of the containing bucket. | |
| BucketType | String | Type of the containing bucket. | |
| CreatorId | Long |
People.Id | The Id of the creator. |
| CreatorName | String | The name of the creator. |
A card table is made of multiple columns which contain cards.
| Name | Type | References | Description |
| Id [KEY] | Long |
Projects.KanbanBoardId | |
| ProjectId | Long |
Projects.Id | The Project Id associated with the calendar. |
| AppUrl | String | App URL | |
| BookmarkUrl | String | Bookmark URL | |
| BucketId | Long | The Id of the bucket | |
| BucketName | String | Name of the bucket | |
| BucketType | String | Type of the bucket | |
| CreatedAt | Datetime | The date and time when card was created | |
| CreatorAdmin | Boolean | The admin who created the card | |
| CreatorAttachableSGID | String | Attachable SGID of Creator | |
| CreatorAvatarUrl | String | Avatar URL of Creator | |
| CreatorBio | String | Bio of Creator | |
| CreatorCanManagePeople | Boolean | Boolean to tell whether creator can manage people. | |
| CreatorCanManageProjects | Boolean | Boolean to tell whether creator can manage project. | |
| CreatorClient | Boolean | Creator Client | |
| CreatorCompanyId | Long | Creator Company Id | |
| CreatorCompanyName | String | Creator Company Name | |
| CreatorCreatedAt | Datetime | Creator Created At | |
| CreatorEmailAddress | String | Email Address of Creator | |
| CreatorEmployee | Boolean | Creator Employee | |
| CreatorId | Long | Creator Id | |
| CreatorLocation | String | Creator Location | |
| CreatorName | String | Creator Name | |
| CreatorOwner | Boolean | Creator Owner | |
| CreatorPersonableType | String | Creator Personable Type | |
| CreatorTimeZone | String | Creator TimeZone | |
| CreatorRitle | String | Creaor Title | |
| CreatorUpdatedAt | Datetime | Creator Updated At | |
| InheritsStatus | Boolean | Inherits Status | |
| Lists | String | Lists | |
| Status | String | Status | |
| Subscribers | String | Subscribers | |
| SubscriptionUrl | String | Subscription URL | |
| Title | String | Title | |
| Type | String | Type | |
| UpdatedAt | Datetime | Updated At | |
| Url | String | URL | |
| VisibleToClients | Boolean | Visible to clients |
Retrieve activity Events on Basecamp 3.
An event is created any time a recording changes.
You can retrieve all activity Events in the specified project and recording.The columns supported as search criteria by Basecamp are ProjectId and RecordingId.
If ProjectId is not specified in the query, the default ProjectId will be used.
SELECT * FROM Events WHERE ProjectId = '1111111' AND RecordingId = '22222222'
| Name | Type | References | Description |
| Id [KEY] | Long | The unique identifier of the event. | |
| ProjectId | Long |
Projects.Id | The Id of the Project associated with the document. |
| RecordingId | Long |
Recordings.Id | The Id of the Recording associated with this event. |
| Action | String | The action description for the event. | |
| Details | String | Details on the event. | |
| CreatedAt | Datetime | The date and time when the event was created. | |
| CreatorId | Long |
People.Id | Event creator Id. |
| CreatorAttachableSgid | String | Event creator Attachable SGID. | |
| CreatorName | String | Event creator Name. | |
| CreatorEmailAddress | String | Event creator Email Address. | |
| CreatorTitle | String | Event creator Title. | |
| CreatorBio | String | Event creator Bio. | |
| CreatorCreatedAt | Datetime | Event creator creation date and time. | |
| CreatorUpdatedAt | Datetime | Event creator update date and time. | |
| CreatorAdmin | Boolean | Boolean indicationg if the event creator is an admin. | |
| CreatorOwner | Boolean | Boolean indicationg if the event creator is an owner. | |
| CreatorTimeZone | String | Event creator's timezone. | |
| CreatorCompanyId | Long | Event creator's company Id. | |
| CreatorCompanyName | String | Event creator's company name. |
Retrieve People on Basecamp 3.
Retrieve all People visible to the current user, list people by Project, or specify an Id to get more information. Id and ProjectId are the columns supported by Basecamp as search criteria.
SELECT * FROM People WHERE Id = '123456789' SELECT * FROM People WHERE ProjectId = '5168618'
| Name | Type | References | Description |
| Id [KEY] | Long | The unique identifier for the person. | |
| Name | String | The name of the person. | |
| Owner | Boolean | Boolean value to show if the current person is the account owner. | |
| Admin | Boolean | Boolean value to show if the current person is an admin or not. | |
| Title | String | The title of the person. | |
| Bio | String | Bio description of the person. | |
| CreatedAt | Datetime | The date and time when the record was created. | |
| UpdatedAt | Datetime | The date and time when the record was last updated. | |
| EmailAddress | String | The email address of the person. | |
| AttachableSgid | String | The attachable Set Group ID. | |
| PersonableType | String | Type of the person. | |
| TimeZone | String | Human readable timezone for the user. | |
| CompanyId | Long | Id of users company. | |
| CompanyName | String | Name of users company. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| ProjectId | Long | Use filter to retrieve active people on the project with the given ID. |
Retrieve project tools on Basecamp 3.
No filters are supported server side for this table. All criteria will be handled client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProjectTools
| Name | Type | References | Description |
| Id | Long | The id of the tool associated with the project. | |
| Name | String | The name of the tool associated with the project. | |
| AppUrl | String | The app url of the tool associated with this project. | |
| Enabled | Boolean | Boolean value for a tool of the project. | |
| Position | Int | The postion of the tool associated with this project. | |
| Title | String | The title of the tool associated with this project. | |
| Url | String | The url of the tool associated with this project. | |
| ProjectId | Long | The unique identifier of the project. |
Retrieve recordings on Basecamp 3 folders.
Retrieve most of the data structures in the Basecamp 3, which are represented as "Recordings."
The columns supported as search criteria by Basecamp are Type (required parameter), Bucket, and Status.
SELECT * FROM Recordings WHERE type = 'Upload' AND Bucket = '1111111, 22222222' AND Status = 'active'
| Name | Type | References | Description |
| Id [KEY] | Long | The unique identifier of the topic. | |
| Status | String | The status of the vault.
使用できる値は次のとおりです。active, archived, trashed | |
| Type | String | The type of the vault.
使用できる値は次のとおりです。Comment, Document, Message, Question::Answer, Schedule::Entry, Todo, Todolist, Upload | |
| CreatedAt | Datetime | The date and time when the event was created. | |
| UpdatedAt | Datetime | The date and time when the event was last modified. | |
| CreatorId | Long |
People.Id | Event Creator. |
| CreatorName | String | Event Creator. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description | |
| Bucket | String | Single or comma separated list of project IDs. Default: All active projects visible to the current user |
Retrieve Uploads on Basecamp 3.
| Name | Type | References | Description |
| Id [KEY] | Long | The unique identifier for the file uploaded. | |
| ProjectId | Long |
Projects.Id | The Id of the Project associated with the file uploaded. |
| VaultId | Long |
Vaults.Id | The Vault Id associated with the file uploaded. |
| Status | String | The status of the vault. | |
| Title | String | The title of the file uploaded. | |
| ContentType | String | The content type of the file uploaded | |
| Type | String | The type of the returned record. | |
| CreatedAt | Datetime | The date and time when the file uploaded was created. | |
| UpdatedAt | Datetime | The date and time when the file uploaded was last updated. | |
| ParentTitle | String | Title of the parent. | |
| ParentType | String | Type of the parent. | |
| BucketName | String | Name of the containing bucket. | |
| BucketType | String | Type of the containing bucket. | |
| CreatorId | Long |
People.Id | The Id of the creator. |
| CreatorName | String | The name of the creator. | |
| CommentsCount | Integer | Number of comments the file uploaded has. | |
| DownloadURL | String | Number of comments the file uploaded has. | |
| ByteSize | Integer | Number of comments the file uploaded has. |
| プロパティ | 説明 |
| AuthScheme | The type of authentication to use when connecting to Basecamp. |
| Schema | 接続するBasecamp のバージョンを指定します。 |
| User | 現在の認証ユーザーのユーザー名。 |
| Password | 現在の認証ユーザーのパスワード。 |
| AccountId | 現在の認証ユーザーのAccount Id。 |
| ProjectId | 現在の認証ユーザーのProject Id。 |
| プロパティ | 説明 |
| OAuthClientId | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| OAuthClientSecret | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| プロパティ | 説明 |
| SSLServerCert | TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。 |
| プロパティ | 説明 |
| FirewallType | provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。 |
| FirewallServer | ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。 |
| FirewallPort | プロキシベースのファイアウォールで使用するTCP ポートを指定します。 |
| FirewallUser | プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。 |
| FirewallPassword | プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。 |
| プロパティ | 説明 |
| ProxyAutoDetect | provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。 |
| ProxyServer | HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。 |
| ProxyPort | クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバー(ProxyServer 接続プロパティで設定)のTCP ポート。 |
| ProxyAuthScheme | ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。 |
| ProxyUser | ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名。 |
| ProxyPassword | ProxyUser 接続プロパティで指定されたユーザーに紐付けられたパスワード。 |
| ProxySSLType | ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプ。 |
| ProxyExceptions | ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
| プロパティ | 説明 |
| LogModules | ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。 |
| プロパティ | 説明 |
| Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。 |
| BrowsableSchemas | レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
| Tables | レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。 |
| Views | レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。 |
| プロパティ | 説明 |
| MaxRows | 集計やGROUP BY を使用しないクエリで返される最大行数を指定します。 |
| Other | 特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。 |
| PseudoColumns | テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。 |
| Timeout | provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。 |
| UserDefinedViews | カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。 |
The type of authentication to use when connecting to Basecamp.
接続するBasecamp のバージョンを指定します。
使用可能なスキーマは、V2(Basecamp 2 API を使用する場合)およびV3(Basecamp 3 API を使用する場合)です。
現在の認証ユーザーのユーザー名。
現在の認証ユーザーのユーザー名。このプロパティは、コマンドの実行に必須です。
現在の認証ユーザーのパスワード。
現在の認証ユーザーのパスワード。このプロパティは、コマンドの実行に必須です。
現在の認証ユーザーのAccount Id。
現在の認証ユーザーのAccount Id。このプロパティは、コマンドの実行に必須です。
現在の認証ユーザーのProject Id。
現在の認証ユーザーのProject Id。デフォルトでは、プロジェクトリストの最初のProject Id に設定されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
| プロパティ | 説明 |
| OAuthClientId | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| OAuthClientSecret | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。
OAuthClientId は、ユーザーがOAuth 経由で認証を行う前に設定する必要があるいくつかの接続パラメータの1つです。詳細は接続の確立を参照してください。
カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。
OAuthClientSecret は、ユーザーがOAuth 経由で認証を行う前に設定する必要があるいくつかの接続パラメータの1つです。詳細は接続の確立を参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
| プロパティ | 説明 |
| SSLServerCert | TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。 |
TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
| 説明 | 例 |
| フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| 証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
| 公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
| SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
| プロパティ | 説明 |
| FirewallType | provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。 |
| FirewallServer | ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。 |
| FirewallPort | プロキシベースのファイアウォールで使用するTCP ポートを指定します。 |
| FirewallUser | プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。 |
| FirewallPassword | プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。 |
provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
Note:デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し、次のプロキシタイプのいずれかに接続するには、ProxyAutoDetect をfalse に設定します。
次の表は、サポートされている各プロトコルのポート番号情報です。
| プロトコル | デフォルトポート | 説明 |
| TUNNEL | 80 | Sync App がBasecamp への接続を開くポート。トラフィックはこの場所のプロキシを経由して行き来します。 |
| SOCKS4 | 1080 | Sync App がBasecamp への接続を開くポート。SOCKS 4 は次にFirewallUser 値をプロキシに渡し、接続リクエストが許容されるかどうかを決定します。 |
| SOCKS5 | 1080 | Sync App がBasecamp にデータを送信するポート。SOCKS 5 プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールで使用するTCP ポートを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
| プロパティ | 説明 |
| ProxyAutoDetect | provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。 |
| ProxyServer | HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。 |
| ProxyPort | クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバー(ProxyServer 接続プロパティで設定)のTCP ポート。 |
| ProxyAuthScheme | ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。 |
| ProxyUser | ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名。 |
| ProxyPassword | ProxyUser 接続プロパティで指定されたユーザーに紐付けられたパスワード。 |
| ProxySSLType | ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプ。 |
| ProxyExceptions | ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。
この接続プロパティをTrue に設定すると、Sync App は既存のプロキシサーバー構成についてシステムプロキシ設定をチェックします(プロキシサーバーの詳細を手動で入力する必要はありません)。
この接続プロパティは他のプロキシ設定より優先されます。特定のプロキシサーバーに接続するためにSync App を手動で構成する場合は、False に設定します。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。
ProxyAutoDetect がFalse に設定されている場合、Sync App はこの接続プロパティで指定されたプロキシサーバーを通じてのみHTTP トラフィックをルーティングします。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムプロキシ設定で指定されたプロキシサーバーを介してHTTP トラフィックをルーティングします。
クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバー(ProxyServer 接続プロパティで設定)のTCP ポート。
ProxyAutoDetect がFalse に設定されている場合、Sync App はこの接続プロパティで指定されたプロキシサーバーポートを通じてのみHTTP トラフィックをルーティングします。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムプロキシ設定で指定されたプロキシサーバーポートを介してHTTP トラフィックをルーティングします。
その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。
認証タイプは次のいずれかです。
"NONE" 以外のすべての値については、ProxyUser およびProxyPassword 接続プロパティも設定する必要があります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名。
ProxyUser および ProxyPassword 接続プロパティは、ProxyServer で指定されたHTTP プロキシに対して接続よび認証するために使用されます。
ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。
| ProxyAuthScheme の値 | ProxyUser に設定する値 |
| BASIC | プロキシサーバーに登録されているユーザーのユーザー名。 |
| DIGEST | プロキシサーバーに登録されているユーザーのユーザー名。 |
| NEGOTIATE | プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。 |
| NTLM | プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。 |
| NONE | ProxyPassword 接続プロパティは設定しないでください。 |
Sync App は、ProxyAutoDetect がFalse に設定されている場合にのみ、このユーザー名を使用します。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムのプロキシ設定で指定されているユーザー名を使用します。
ProxyUser 接続プロパティで指定されたユーザーに紐付けられたパスワード。
ProxyUser および ProxyPassword 接続プロパティは、ProxyServer で指定されたHTTP プロキシに対して接続よび認証するために使用されます。
ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。
| ProxyAuthScheme の値 | ProxyPassword に設定する値 |
| BASIC | ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。 |
| DIGEST | ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。 |
| NEGOTIATE | ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。 |
| NTLM | ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。 |
| NONE | ProxyPassword 接続プロパティは設定しないでください。 |
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
Sync App は、ProxyAutoDetect がFalse に設定されている場合にのみ、このパスワードを使用します。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムのプロキシ設定で指定されているパスワードを使用します。
ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この接続プロパティには、以下の値を設定できます。
| AUTO | デフォルト設定。ProxyServer がHTTPS URL に設定されている場合、Sync App は、TUNNEL オプションを使用します。ProxyServer がHTTP URL に設定されている場合、コンポーネントはNEVER オプションを使用します。 |
| ALWAYS | 接続は、常にSSL 有効となります。 |
| NEVER | 接続は、SSL 有効になりません。 |
| TUNNEL | 接続はトンネリングプロキシ経由で行われます。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App はデフォルトでシステムプロキシ設定を使用するため、それ以上の設定は必要ありません。この接続にプロキシ例外を明示的に設定する場合は、ProxyAutoDetect をFalse に設定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。
| プロパティ | 説明 |
| LogModules | ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。 |
ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。
このプロパティは、含めるログモジュールを指定することでログファイルの内容をカスタマイズすることができます。 ログモジュールは、クエリ実行、メタデータ、SSL 通信などの異なる領域にログ情報を分類します。 各モジュールは4文字のコードで表され、文字の名前の場合は末尾にスペースが必要なものもあります。
例えば、EXEC はクエリ実行をログに記録し、INFO は一般的なプロバイダーメッセージをログに記録します。 複数のモジュールを含めるには、次のように名前をセミコロンで区切ります:INFO;EXEC;SSL。
Verbosity 接続プロパティは、このプロパティで指定されたモジュールベースのフィルタリングよりも優先されます。 Verbosity レベルを満たし、指定されたモジュールに属するログエントリのみが記録されます。 利用可能なすべてのモジュールをログファイルに含めるには、このプロパティを空白のままにします。
利用可能なモジュールの完全なリストとログの設定に関する詳細な手引きについては、ログ の「高度なログの記録」セクションを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
| プロパティ | 説明 |
| Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。 |
| BrowsableSchemas | レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
| Tables | レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。 |
| Views | レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。
Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
Note: Sync App は複数のスキーマをサポートするため、Basecamp のカスタムスキーマファイルは以下のような構造にになります。
Location は常に親フォルダに設定されるべきで、個々のスキーマのフォルダに設定すべきではありません。
指定しない場合、デフォルトの場所は%APPDATA%\\CData\\Basecamp Data Provider\\Schema となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:
| プラットフォーム | %APPDATA% |
| Windows | APPDATA 環境変数の値 |
| Linux | ~/.config |
レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
利用可能なデータベーススキーマをすべてリストすると余分な時間がかかり、パフォーマンスが低下します。 接続文字列にスキーマのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。
データベースによっては、利用可能なすべてのテーブルをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にテーブルのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
利用可能なテーブルがたくさんあり、すでに作業したいテーブルが決まっている場合、このプロパティを使用して対象のテーブルのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、表示する各テーブルを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するテーブルが混同されることを防ぎます。
レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。
データベースによっては、利用可能なすべてのビューをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にビューのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
利用可能なビューがたくさんあり、すでに作業したいビューが決まっている場合、このプロパティを使用して対象のビューのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、確認する各ビューを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するビューが混同されることを防ぎます。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
| プロパティ | 説明 |
| MaxRows | 集計やGROUP BY を使用しないクエリで返される最大行数を指定します。 |
| Other | 特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。 |
| PseudoColumns | テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。 |
| Timeout | provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。 |
| UserDefinedViews | カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。 |
集計やGROUP BY を使用しないクエリで返される最大行数を指定します。
このプロパティは、集計やGROUP BY 句を含まないクエリに対してSync App が返す行数の上限を設定します。 この制限により、クエリがデフォルトで過度に大きな結果セットを返さないようにします。
クエリにLIMIT 句が含まれている場合、クエリで指定された値がMaxRows 設定よりも優先されます。 MaxRows が"-1" に設定されている場合、LIMIT 句が明示的にクエリに含まれていない限り、行の制限は行われません。
このプロパティは、非常に大きなデータセットを返す可能性のあるクエリを実行する際に、パフォーマンスを最適化し過剰なリソース消費を防ぐのに役立ちます。
特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。
このプロパティは、シニアユーザーが特定のシナリオに対して隠しプロパティを設定できるようにします。 これらの設定は通常のユースケースには必要ありませんが、特定の要件に対応したり、追加の機能を提供したりすることができます。 複数のプロパティをセミコロン区切りのリストで定義できます。
Note: 特定のシナリオや問題に対処するためにサポートチームから助言があった場合にのみ、これらのプロパティを設定することを強く推奨します。
複数のプロパティをセミコロン区切りリストで指定します。
| DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
| ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
| RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。
このプロパティを使用すると、Sync App がテーブルカラムとして公開する擬似カラムを定義できます。
個々の擬似カラムを指定するには、以下の形式を使用します。"Table1=Column1;Table1=Column2;Table2=Column3"
すべてのテーブルのすべての擬似カラムを含めるには、次のようにします:"*=*"
provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。
このプロパティは、Sync App が操作をキャンセルする前に操作の完了を待機する最大時間を秒単位で制御します。 操作の完了前にタイムアウト時間が経過すると、Sync App は操作をキャンセルして例外をスローします。
タイムアウトは、クエリや操作全体ではなくサーバーとの個々の通信に適用されます。 例えば、各ページング呼び出しがタイムアウト制限内に完了する場合、クエリは60秒を超えて実行を続けることができます。
このプロパティを0に設定するとタイムアウトが無効になり、操作が成功するか、サーバー側のタイムアウト、ネットワークの中断、またはサーバーのリソース制限などの他の条件で失敗するまで無期限に実行されます。 このプロパティは慎重に使用してください。長時間実行される操作がパフォーマンスを低下させたり、応答しなくなる可能性があるためです。
カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。
このプロパティを使用すると、UserDefinedViews.json というJSON 形式の構成ファイルを通じてカスタムビューを定義および管理できます。 これらのビューはSync App によって自動的に認識され、標準のデータベースビューのようにカスタムSQL クエリを実行できるようになります。 JSON ファイルは、各ビューをルート要素として定義し、その子要素として"query" を持ちます。この"query" にはビューのSQL クエリが含まれています。次に例を示します。
{
"MyView": {
"query": "SELECT * FROM Projects WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
このプロパティを使用して、1つのファイルに複数のビューを定義し、ファイルパスを指定できます。 例:UserDefinedViews=C:\Path\To\UserDefinedViews.json。 このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
詳しくは、ユーザー定義ビュー を参照してください。