教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

GoogleカレンダーのAPIを使ってカレンダーに予定を登録しようと思っているんですがエラーが発生してしまいます

GoogleカレンダーのAPIを使ってカレンダーに予定を登録しようと思っているんですがエラーが発生してしまいますhttps://qiita.com/shin1kt/items/8da153ff4d8e25196459 ↑こちらのサイトを見ながら試しているんですが中々上手くいき ません 私的には秘密鍵の使い方が正しいのかもあまりよくわかっていません ※秘密鍵を掲載しても大丈夫だろうと思って掲載しています。 サイトを見ながらソースコードを書いてみましたので下に貼らせていただきます <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <?php //上記の(※4)でダウンロードしたファイルから src/Google/autoload.php を読み込み require_once realpath(dirname(__FILE__).'/google-api-php-client-1.1.7/src/Google/autoload.php'); $calendarId='7pi64lsj6008m44bsjkpmchqro@group.calendar.google.com';//上記の(※3)でメモしたカレンダーID $client_email = 'app-engine-default-service-acc@fresh-authority-185905.iam.gserviceaccount.com'; //上記の(※2)でメモしたサービスアカウントID(長いけどそのまま全部) $private_key = file_get_contents('/google-api-php-client-1.1.7/GCalTest-a35f5793b83f.p12'); //上記の(※1)でダウンロードした秘密鍵ファイルを指定します $scopes = array('https://www.googleapis.com/auth/calendar');//カレンダー書き込み時に必要なscope(下記で説明します) $credentials = new Google_Auth_AssertionCredentials( $client_email, $scopes, $private_key ); $client = new Google_Client(); $client->setAssertionCredentials($credentials); if ($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion(); } $service = new Google_Service_Calendar($client); //以下がカレンダーに登録する内容です。(下記で説明します) $event = new Google_Service_Calendar_Event(array( 'summary' => 'テストの予定を登録するよ',//予定のタイトル 'start' => array( 'dateTime' => '2017-12-28T09:00:00+09:00',// 開始日時 'timeZone' => 'Asia/Tokyo', ), 'end' => array( 'dateTime' => '2017-12-28T18:00:00+09:00', // 終了日時 'timeZone' => 'Asia/Tokyo', ), )); $event = $service->events->insert($calendarId, $event); printf('Event created: %s\n', $event->htmlLink); ?> </body> </html> これで実行をすると Warning: file_get_contents(/google-api-php-client-1.1.7/GCalTest-a35f5793b83f.p12): failed to open stream: No such file or directory in C:\xampp\htdocs\oti\test\a1.php on line 15 Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Unable to parse the p12 file. Is this a .p12 file? Is the password correct? OpenSSL error: ' in C:\xampp\htdocs\oti\test\google-api-php-client-1.1.7\src\Google\Signer\P12.php:55 Stack trace: #0 C:\xampp\htdocs\oti\test\google-api-php-client-1.1.7\src\Google\Auth\AssertionCredentials.php(130): Google_Signer_P12->__construct(false, 'notasecret') #1 C:\xampp\htdocs\oti\test\google-api-php-client-1.1.7\src\Google\Auth\AssertionCredentials.php(107): Google_Auth_AssertionCredentials->makeSignedJwt(Array) #2 C:\xampp\htdocs\oti\test\google-api-php-client-1.1.7\src\Google\Auth\OAuth2.php(313): Google_Auth_AssertionCredentials->generateAssertion() #3 C:\xampp\htdocs\oti\test\a1.php(26): Google_Auth_OAuth2->refreshTokenWithAssertion() #4 {main} thrown in C:\xampp\htdocs\oti\test\google-api-php-client-1.1.7\src\Google\Signer\P12.php on line 55 このようなエラーが発生してしまいます ファイルのパス指定は間違っていないと思います どなたか原因がわかる方がいらっしゃいましたら 正しい書き方を教えてください よろしくお願いします<(_ _)>

続きを読む

193閲覧

回答(1件)

  • ベストアンサー

    Unable to parse the p12 file. Is this a .p12 file? Is the password correct? と言われているのでパスの問題ではなくてそのファイルの問題だと思いますよ。 秘密鍵ファイルを p12形式でダウンロードしていないのではないでしょうか?

< 質問に関する求人 >

google(東京都)

この条件の求人をもっと見る

< 質問に関する求人 >

line(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    職場・人間関係に関する質問をキーワードで探す

    この質問と関連する企業

    募集中の求人

    求人の検索結果を見る

    この企業に関連する質問

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

    カテゴリ: 職場の悩み

    転職エージェント求人数ランキング

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる