2017-12-11 8 views
0

私は自分のウェブサイトでGoogle oAuthを使用してログインし、自分のGoogleドライブからいくつかの写真を共有しています。今、Googleは私に次のような種類のリンク取得:私はセキュリティ上の理由google apiの画像からbase64を取得

にこのURLを変更しました

https://doc-0o-30-docs.googleusercontent.com/docs/securesc/dpstkbb0rv4jmf62kb8dc9m8ijh53ocp/1hotfemebktd56o93gcoi76k89edbtjp/1512662400000/05170378500578169489/05170378500578169489/1MxIJ5EBLcIVtqxjGi_ZoYYqpw1UQHBiCRA?e=download&gd=true 

を問題は、私は、関連する特定のフォルダに保存するには、この画像のBASE64を取得したいです何らかの理由でユーザーに通知します。 PHP関数file_get_contents();を使用しても動作しません。

img.toDataURL()で取得するのにJSキャンバスを使用しようとしましたが、まだ失敗します。

これを行うにはいくつかの方法がありますか?

答えて

0

問題が見つかりました。 google apiでコンテンツを取得するには、まず、適切な範囲を設定します。この場合、https://www.googleapis.com/auth/drive

このように、get_file_contents()で、パラメータ "Authorization"を渡すコンテキストをaccess_tokenに設定する必要があります。コードは次のようになります。

$context = stream_context_create(array(
      'http' => array(
       'header' => "Authorization: Bearer [ACCESS_TOKEN_HERE]" 
      ) 
     )); 

    $conteudo = file_get_contents($urlImagem, false, $context); 

これは私のソリューションでした。私はそれが他人を助けることを願っています

関連する問題