0

私は現在コンピューター サイエンスを勉強していますが、仕事の経験の中で、仕事の家庭教師は、PHP のサイト (私が実現した) を介して、家庭教師の Microsoft EXCHANGE 議題に予約のリクエストを送信するよう提案してくれました。 残念ながら、私はこれを行う方法がわかりません....私はPHP、HTML、およびCSSについて十分な知識を持っていますが、私の家庭教師がこのプロジェクトを私に尋ねるまで、Microsoft Projectを本当に知りませんでした.

私のコード(ファイル:test.php):

<?php

function __autoload($ExchangeWebServices)
{
// Start from the base path and determine the location from the class name,
$base_path = 'C:/wamp/www/new-ews2/php-ews';
$include_file = $base_path . '/' . str_replace('_', '/',             $ExchangeWebServices) . '.php';

return (file_exists($include_file) ? require_once $include_file : false);
} 

$server='test.fr';
$username='test@test.fr';
$password='testtest';

$ews = new ExchangeWebServices($server, $username, $password);

$request = new EWSType_FindItemType();
$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;

$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::DEFAULT_PROPERTIES;

$request->CalendarView = new EWSType_CalendarViewType();
$request->CalendarView->StartDate = date('c', strtotime('2015-06-20 -00'));
$request->CalendarView->EndDate = date('c', strtotime('2015-06-22 -00'));

$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;

var_dump($request); 

?>

Google chromeにアクセスして設定すると:localhost/new-ews/php-ews/test.php

ページの結果:

object(EWSType_FindItemType)[2]
public 'CalendarView' => 
object(EWSType_CalendarViewType)[4]
  public 'EndDate' => string '2015-06-22T02:00:00+02:00' (length=25)
  public 'MaxEntriesReturned' => null
  public 'StartDate' => string '2015-06-20T02:00:00+02:00' (length=25)
public 'ContactsView' => null
public 'DistinguishedGroupBy' => null
public 'FractionalPageItemView' => null
public 'GroupBy' => null
public 'IndexedPageItemView' => null
public 'ItemShape' => 
object(EWSType_ItemResponseShapeType)[3]
  public 'AdditionalProperties' => null
  public 'BaseShape' => string 'Default' (length=7)
  public 'BodyType' => null
  public 'ConvertHtmlCodePageToUTF8' => null
  public 'FilterHtmlContent' => null
  public 'IncludeMimeContent' => null
public 'ParentFolderIds' => 
object(EWSType_NonEmptyArrayOfBaseFolderIdsType)[5]
  public 'DistinguishedFolderId' => 
    object(EWSType_DistinguishedFolderIdType)[6]
      public 'ChangeKey' => null
      public 'Id' => string 'calendar' (length=8)
      public 'Mailbox' => null
  public 'FolderId' => null
public 'QueryString' => null
public 'Restriction' => null
public 'SortOrder' => null
public 'Traversal' => string 'Shallow' (length=7)

このコードをテストする方法がわかりません。今すぐチューターにサーバー/ユーザー名/パスワードを尋ねますか? または私のコードは良いですか?私は何かを変えますか?ありがとう

編集 2 : このコードをどの行に追加できますか? :/

4

1 に答える 1

0

PHP 経由で EWS にアクセスするための API は多数あります。

彼らはあなたを始めさせます。

編集:

コードを作成したら、1. 必要なすべてのファイルを個別に含める 2. カスタム オートローダーを追加する

両方とも、こちらの readme ドキュメントで説明されています。上記のエラーを解決するには、ExchangeWebServices.php少なくともファイルを含める必要があります。

編集 2: EWS を実際に照会することはありません。クエリを作成しますが、コードは実行しません。もちろん、クエリにはアカウント データが必要です。

$response = $ews->FindItem($request);
于 2015-06-17T08:28:26.127 に答える