PHP SDKのエラーと解決策

リフレッシュトークンからアクセストークンを取得中にエラーが発生しました

原因

設定の詳細が、configuration.propertiesファイルとoauth_configuration.propertiesファイルに指定されていません。

解決策

次の画像に表示されているように設定プロパティとOAuth設定プロパティを指定します。

許可トークンからアクセストークンを取得中にエラーが発生しました

原因

許可トークンの期限が切れています。

解決策

規定時間内に許可トークンを再生成して使用します。

未定義のインデックス:メールアドレス

原因

ユーザーが許可トークン(認証コード)の生成時にスコープ「Aaaserver.profile.Read」を指定しませんでした。

解決策

許可トークン(認証コード)の生成時にスコープ「Aaaserver.profile.Read」を指定します。

オフセットが未定義です 1

原因

SSL証明書が更新されていません。

解決策1

https://curl.haxx.se/ca/cacert.pemからファイルをダウンロードし、以下の行をphp.iniファイルに追加します。
curl.cainfo=“path/to/file/cacert.pem”

解決策2

Add the below line before$result=curl_exec($curl_pointer)in thefirerequest()anddownloadFile()methods ofZohoHTTPConnector.phpfile, and thepost()andget()methods of theZohoOAuthHTTConnector.phpfile.
curl_setopt($curl_pointer, CURLOPT_SSL_VERIFYPEER, 0);

この解決策では、SSL証明書の確認がバイパスされます。解決策1をお勧めします。

リフレッシュトークンが指定されていません

原因

ユーザーは、アクセストークンとリフレッシュトークンを生成せずに、APIを呼び出そうとしています。

解決策

認可トークンからアクセストークンとリフレッシュトークンを生成します。

1. 現在のユーザーは、ZCRMRestClientまたはconfiguration.propertiesファイルに設定してください

原因

現在のユーザーのメールアドレスが、設定マップとconfiguration.propertiesファイルのどちらにも指定されていません。

解決策

configuration.propertiesファイルまたはサーバー上で、現在のユーザーのメールアドレスを以下のように入力します。

2. 現在のユーザーは、ZCRMRestClientまたはconfiguration.propertiesファイルに設定してください

原因

ZCRMRestClient::initialize()を呼び出しておらず、SDKが初期化されていません。

解決策

初期化 - PHP SDK」の手順に従って、SDKを初期化します。

許可トークンからアクセストークンを取得中に例外が発生しました

原因

ユーザーは許可トークンとアクセストークンを異なるドメインから生成しようとしています。たとえば、accounts.zoho.comから許可トークンを生成し、accounts.zoho.euからアクセストークンを生成しようとしている場合などです。

解決策

許可トークンとアクセストークンの両方を同じドメインから生成します。

OAuthトークンが無効です

原因

ユーザーはドメインでアクセストークンを生成し、そのドメインとは別のドメインのレコードにアクセスしようとしています。たとえば、www.zohoapis.comからアクセストークンを生成し、www.zohoapis.euのタブにアクセスしようとしています。

解決策

アクセストークンを生成したのと同じドメインのレコードにアクセスします。つまり、accounts_urlとapiBaseUrlに同じドメイン名サフィックスを指定するということです。

オフセットが未定義です

原因

configuration.propertiesファイルの「apiBaseUrl」に、APIのベースURLが設定されていません。

解決策

configuration.propertiesファイルの「apiBaseUrl」に、ベースURLを指定します。

クラス「ZCRMRestClient」が見つかりません

原因

PHPファイルにベンダーパスが含まれていません。

解決策

PHPファイルにベンダーパスrequire ‘vendor/autoload.php’を追加します。

未定義のAPIResponse::getId()メソッドを呼び出しています

原因

誤まったオブジェクトをsetOwner()メソッドに渡しています

解決策

ZCRMユーザーインスタンスを取得するgetData()メソッドを使用してから、オブジェクトをsetOwner()メソッドに渡します。

ZCRMExceptionの発生原因:「不明なZCRMException」

原因

設定辞書の「apiBaseUrl」キーの値は、「https://www.zohoapis.com/」になっている必要があります。SDKによってスラッシュが行の末尾に自動的に追加されます。したがって、ユーザーもまたスラッシュを追加すると、SDKの最終的な入力値のスラッシュは2つになってしまいます。例:「https://www.zohoapis.com//」

解決策

設定辞書の「apiBaseUrl」キーで、「https://www.zohoapis.com」の後ろにあるスラッシュ(/)を削除します。

ZohoOAuthExceptionの発生原因:リフレッシュトークンからアクセストークンを取得中に発生した例外 - HTTP/1.1 404

原因

設定辞書の「accounts_url」キーの値は、「https://accounts.zoho.com/」になっている必要があります。SDKによってスラッシュが行の末尾に自動的に追加されます。したがって、ユーザーもまたスラッシュを追加すると、SDKの最終的な入力値のスラッシュは2つになってしまいます。例:「https://accounts.zoho.com//」

解決策

設定辞書の「accounts_url」キーで、「https://accounts.zoho.com」の後ろにあるスラッシュ(/)を削除します。

ZCRMExceptionの発生原因:「不明なZCRMException」

原因

設定辞書の「apiVersion」キーが「V2」であり、「V」が大文字になっています。

解決策

設定辞書でapiVersionの値を「v2」に変更します。