CData Python Connector for Microsoft Project

Build 25.0.9440

接続の確立

コネクタ内で利用可能なオブジェクトは、"cdata.microsoftproject" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには:

  1. モジュールを以下のようにインポートします。
    import cdata.microsoftproject as mod
  2. 接続を確立するには、以下のような適切な接続文字列を使用してコネクタオブジェクトからconnect() メソッドを呼び出します。
    mod.connect("user=myuseraccount;password=mypassword;URL=http://myserver/myOrgRoot;")

Microsoft Project への接続

Microsoft Project データソースに接続するには、以下の接続プロパティを設定します。

  • URL:有効なMicrosoft Project Web アプリのURL、例えばhttp://contoso.com/sites/pwa/
  • SchemaODataV1 またはODataV2(デフォルト)のいずれか。ODataV2 は完全なCRUD 操作に使用できますが、ODataV1 は、より詳細なデータを提供しカスタムフィールドを公開するため、レポート作成に適しています。 各Schema で使用可能な機能については、データモデル を参照してください。
  • ProjectId(オプション):SchemaODataV2 の場合、このプロパティを使用して、プロジェクトId を必要とするすべての操作にデフォルトのプロジェクトId を指定することができます。

Microsoft Project への認証

Microsoft Project への接続に使用できる認証方法は、SharePoint Online Cookie Service、ADFS、OAuth、SSO など、いくつかあります。サポートされているSSO ID プロバイダーは、Azure AD、OneLogin、およびOKTA です。

SharePoint Online Cookie Service

SharePoint Online でMicrosoft Project に接続するためにログインクレデンシャルを使用するには、AuthSchemeSharePointOnlineCookies に、User をユーザーログインに、Password をユーザーログインパスワードに設定します。

OAuth

すべてのMicrosoft Project OAuth フローでこの認証を有効にするには、カスタムOAuth アプリケーションを作成し、AuthSchemeOAuth に設定する必要があります。

以下のサブセクションでは、3つの一般的な認証フローでのMicrosoft Project への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成については、SharePoint Add-in の作成(レガシーOAuth モデル) を参照してください。 Microsoft Project で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。

デスクトップアプリケーション

カスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

OAuth アクセストークンの取得およびリフレッシュ:

  • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します。
  • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
  • CallbackURL:アプリケーションの登録時に定義されたリダイレクトURI。

接続すると、本製品 はデフォルトブラウザでMicrosoft Project のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

アプリケーションにアクセス許可を与えると、本製品 はOAuth プロセスを完了します。

  1. 本製品 はMicrosoft Project からアクセストークンを取得し、それを使ってデータをリクエストします。
  2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます。

アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。

Web アプリケーション

Web 経由で認証する場合は、SharePoint Add-in の作成(レガシーOAuth モデル) で説明するようにMicrosoft Project にカスタムOAuth アプリケーションを作成および登録する必要があります。それから本製品 を使用してOAuth トークンの値を取得および管理します。

このセクションでは、OAuth アクセストークンの取得方法、ドライバーにOAuth アクセストークンを自動的に更新させる方法、OAuth アクセストークンを手動で更新する方法について説明します。

OAuth アクセストークンの取得:

  1. OAuthAccessToken を取得するには、次の接続プロパティを設定します。
    • OAuthClientId:アプリケーション設定のクライアントId。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

  2. ストアドプロシージャを呼び出し、OAuth 交換を完了します。
    • GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL をアプリケーション設定で指定したリダイレクトURI に設定します。 ストアドプロシージャは、OAuth エンドポイントへのURL を返します。
    • ステップ1でストアドプロシージャが返したURL に移動します。ログインしてWeb アプリケーションを認可します。コールバックURL にリダイレクトされます。
    • GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、リダイレクトURI のクエリ文字列のcode パラメータに設定します。

アクセストークンとリフレッシュトークンを取得したのち、データに接続してOAuth アクセストークンを自動的にリフレッシュできます。

OAuth アクセストークンの自動リフレッシュ:

本製品 がOAuth アクセストークンを自動的にリフレッシュするようにするには:

  1. はじめてデータに接続する前に、次の接続パラメータを設定します。
  2. その後のデータ接続では、以下を設定します。

OAuth アクセストークンの手動リフレッシュ:

OAuth アクセストークンを手動でリフレッシュするために必要な唯一の値は、OAuth リフレッシュトークンです。

  1. ExpiresIn 期間(GetOAuthAccessToken が返す)が経過した後にOAuthAccessToken を手動でリフレッシュするには、RefreshOAuthAccessToken ストアドプロシージャを呼び出します。
  2. 次の接続プロパティを設定します。

    • OAuthClientId:アプリケーション設定のクライアントId。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

  3. RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを設定します。
  4. 新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定します。これで新規接続が開かれます。

OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。

ヘッドレスマシン

ヘッドレスマシンに置かれているリソースにログインする必要がある場合は、 インターネットブラウザに対応した別の端末で認証する必要があります。以下のいずれかの方法で行います。

  • オプション1:OAuthVerifier 値を取得します。
  • オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。

オプション1またはオプション2を実行後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにドライバーを設定します。

オプション1:Verifier コードを取得および交換

Verifier コードを取得するには、次のようにOAuth Authorization URL で認証する必要があります。

  1. インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得します。

    次のプロパティを設定します。

    • InitiateOAuthOFF
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。

  2. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャは、 カスタムOAuth アプリケーションが登録されたときに構築されたCallbackURL を返します。(SharePoint Add-in の作成(レガシーOAuth モデル) を参照してください。)

    このURL をコピーして、新しいブラウザのタブに貼り付けます。

  3. ログインして、本製品 にアクセス許可を与えます。OAuth アプリケーションは、code というパラメータを付加したリダイレクトURI にリダイレクトします。このパラメータの値を控えておきます。OAuthVerifier 接続プロパティを設定するために、後で必要になります。

  4. OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。ヘッドレスマシンでは、OAuth 認証値を取得するには次のプロパティを設定します。

    • InitiateOAuthREFRESH
    • OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
    • OAuthSettingsLocation:暗号化されたOAuth 認証値を指定されたファイルに永続化。
    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。

  5. 接続をテストしてOAuth 設定ファイルを生成します。

  6. これらのプロパティを再設定すると、接続の準備が整います。

    • InitiateOAuthREFRESH
    • OAuthSettingsLocation:暗号化されたOAuth 認証値を含むファイル。アクセストークンの自動リフレッシュを有効にするには、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。

オプション2:OAuth 設定を転送

ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンでデータに接続するには、次の接続プロパティを設定します。

  • InitiateOAuthREFRESH
  • OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルへのパス。アクセストークンの自動リフレッシュを有効にするために、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
  • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

ADFS

ADFS に接続するには、AuthSchemeADFS に設定し、次のプロパティを設定します。

  • User:ADFS ユーザー。
  • Password:ADFS ユーザーのパスワード。
  • SSOLoginURL:SSO プロバイダーのログインURL。

接続文字列の例:

AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';

ADFS 統合

ADFS 統合フローでは、現在ログインしているWindows ユーザーの資格情報で接続します。 ADFS 統合フローを使用するには、User およびPassword を指定せず、それ以外の設定は上記のADFS ガイドと同じ手順を実行してください。

サポートされているSSO プロバイダー

Okta

Okta に接続するには、AuthSchemeOkta に設定し、次のプロパティを設定します。

  • User:Okta ユーザー。
  • Password:Okta ユーザーのパスワード。
  • SSOLoginURL:SSO プロバイダーのログインURL。

Okta クライアントリクエストコンテキストをオーバーライドする信頼されたアプリケーションまたはプロキシを使用する場合、またはMFA を設定している場合は、Okta を使用して認証するためにSSOProperties を組み合わせて使用する必要があります。必要に応じて、以下のいずれかを設定します。

  • APIToken:Okta クライアントリクエストコンテキストをオーバーライドする、信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する場合、これを顧客がOkta 組織で作成したAPI Token に設定します。
  • MFAType:MFA フローを設定した場合、次の対応するタイプのいずれかに設定します:OktaVerifyEmail、またはSMS
  • MFAPassCode:MFA フローを設定した場合は、有効なパスコードに設定します。
    これを空欄または無効な値に設定した場合、本製品 はユーザーのデバイスまたはE メールにワンタイムパスワードチャレンジを発行します。パスコードを受信後、取得したワンタイムパスワードをMFAPassCode 接続プロパティに設定する接続を再度開きます。
  • MFARememberDevice:デフォルトはTrue です。Okta は、MFA が必要な場合にデバイスを記憶させることをサポートします。設定された認証ポリシーに従ってデバイスの記憶が許可されている場合、本製品 はMFA 認証の有効期間を延長するデバイストークンを送信します。MFA を記憶させない場合は、この 変数をFalse に設定してください。

接続文字列の例:

AuthScheme=Okta;SSOLoginURL='https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46';User=oktaUserName;Password=oktaPassword;

OneLogin

OneLogin に接続するには、AuthSchemeOneLogin に設定し、次のプロパティを設定します。

  • User:OneLogin ユーザー。
  • Password:OneLogin ユーザーのパスワード。

OneLogin への認証を行うには、次のSSOProperties を設定します。

  • OAuthClientId:Developers -> API Credentials -> Credential -> ClientId を選択して取得できるOAuthClientId。
  • OAuthClientSecret:Developers -> API Credentials -> Credential -> ClientSecret を選択して取得できるOAuthClientSecret。
  • Subdomain:SSO アプリケーションにアクセスするOneLogin ユーザーのサブドメイン。例えば、OneLogin URL がsplinkly.onelogin.com の場合、splinkly がサブドメインの値です。
  • AppId:SSO アプリケーションのId。
  • リージョン(オプション):OneLogin アカウントで使用しているリージョン。有効な値はUS(デフォルト)またはEU です。

次の例の接続文字列はOneLogin への接続にAPI Key を使います:

AuthScheme=OneLogin;User=OneLoginUserName;Password=OneLoginPassword;SSOProperties='OAuthClientID=3fc8394584f153ce3b7924d9cd4f686443a52b;OAuthClientSecret=ca9257fd5cc3277abb5818cea28c06fe9b3b285d73d06;Subdomain=OneLoginSubDomain;AppId=1433920';

Azure AD

Microsoft Entra ID(旧Azure Active Directory)を使用して認証するには、AuthSchemeAzureAD に設定します。 この方法により、本製品 は委任されたOAuth アクセス許可を使用して、サインインしたユーザーの代わりにSharePoint Online からProject Web App(PWA)データにアクセスできます。

Azure ポータルでカスタムOAuth アプリケーションを作成し、リダイレクトURI および必要な委任されたアクセス許可を設定する必要があります。 完全な設定方法については、カスタムEntra ID(Azure AD)アプリケーションの作成 を参照してください。

アプリケーションを登録した後、以下の接続プロパティを設定します。

  • AuthSchemeAzureAD
  • InitiateOAuthGETANDREFRESH
  • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
  • URL:プロジェクトのWeb アプリのURL。
  • CallbackURL:(オプション)アプリケーションの登録時に定義されたリダイレクトURI。例:http://localhost:33333(または設定されたリダイレクトURI)。
  • AzureTenant:(オプション)ディレクトリ(テナント)ID
カスタムScope を設定しない場合、本製品 はURL に基づいてデフォルトのスコープを自動的に生成します。
https://yourtenant.sharepoint.com/ProjectWebApp.FullControl
https://yourtenant.sharepoint.com/AllSites.FullControl
カスタムScope 値を設定することで、これらをオーバーライドできます。

例:

AuthScheme=AzureAD;
InitiateOAuth=GETANDREFRESH;
OAuthClientId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;
OAuthClientSecret=xxxxxxxxxxxxxxxxxxxx;
CallbackURL=http://localhost:33333;
URL=https://contoso.sharepoint.com/sites/pwa/;
AzureTenant=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;
Scope=https://contoso.sharepoint.com/ProjectWebApp.FullControl https://contoso.sharepoint.com/AllSites.Read

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9440