2

Google ドライブ アプリケーションのファイルを Javascript 経由で Google Plus に共有しようとしています。

このページのサンプル コードに従いました: https://developers.google.com/drive/manage-sharing#add_the_dialog_script

アプリを Google ドライブ SDK に登録し、ウェブマスター ツールでアプリの URL を確認し (これが必要かどうかはわかりませんが、念のため)、ページの読み込み後に次のコードを挿入しました。

  var clientId = 'GOOGLE DRIVE SDK CLIENT ID';
  var apiKey = 'MY API KEY';

  var scopes = ['https://www.googleapis.com/auth/drive.readonly'];

  var access_token = ''; // Set after access is granted

  var share_client; // Set after access is grated

  function handleClientLoad() {
    gapi.client.setApiKey(apiKey);
    window.setTimeout(checkAuth,1);
  }

  function checkAuth() {
    gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
  }

  function handleAuthResult(authResult) {
    if (authResult && !authResult.error) {
      init = function() {
          share_client = new gapi.drive.share.ShareClient('756276963659');
      }
      gapi.load('drive-share', init);
    } else {
        console.log("error"); 
    }
  }

  function handleAuthClick(event) {
    gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
  }

ボタンは handleAuthClick を呼び出しますが、handleClientLoad はページの読み込み時に以下によって呼び出されます。

  <script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script> 

次に、アイテムを共有するには:

  if (isShareEnabled()){
    share_client.setItemIds([image.fileID]);
    share_client.showSettingsDialog();
  }

このとき、「読み込み中...」というテキストが表示されたウィンドウが表示され、回転するアイコンが画面に数秒間表示された後、「申し訳ありませんが、現在共有は利用できません。後でもう一度お試しください」という警告メッセージが表示されます。が表示されます。

Javascript コンソールを見ると、次のようになります。

Uncaught Error: SYNTAX_ERR: DOM Exception 12 2956664786-v2-doclist_share.js:453
Refused to display document because display forbidden by X-Frame-Options.

Chrome 21 と Firefox 14 でテスト済み、同じ問題。

これは一時的な問題ですか、それとも何か間違っていますか?

編集: Google ドライブ SDK のクライアント ID の代わりに、Web アプリケーションのクライアント ID を使用しようとしましたが、同じ結果です。

edit2:「X-Frame-Options によって表示が禁止されているため、ドキュメントの表示を拒否されました」は警告のように見えますが、「Uncaught Error: SYNTAX_ERR: DOM Exception 12 2956664786-v2-doclist_share.js:453」は実行を停止します。DOM 例外 12 は構文エラーです。たとえば、プロパティの設定が間違っています。

ページ: http://pierotofy.it/test/

4

1 に答える 1

1

次の 2 点を確認する必要があります。

  • Google API コンソールの Google ドライブ SDK 設定で設定した「open with」URL は、共有ダイアログを使用しているページと同じドメインを持つ必要があります。
  • 現在、埋め込み可能なウィジェットを機能させるには、アプリケーションを Google ドライブにインストールする必要があります。API の v2 をリリースして以来、この制限は常に意味があるとは限らないため、現在、この制限の削除に取り組んでいます。
于 2012-08-23T00:48:51.317 に答える