2016-03-28 50 views
0

Google REST APIを使用してスプレッドシートのリストを取得しています。 アカウントでアクセスするとすべて動作します。GoogleJsonResponseException 403禁止PERMISSION_DENIED

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden { 
"code" : 403, 
"errors" : [ { 
"domain" : "global", 
"message" : "The caller does not have permission", 
"reason" : "forbidden" 
} ], 
"message" : "The caller does not have permission", 
"status" : "PERMISSION_DENIED" 
} 

それは私が私のGoogleのスクリプトへのアクセスを持っていないと言うが、スクリプトが目に見える設定し、誰のために共有されている:私は外国人のアカウントを使用しようとすると、

しかし、私はこのエラーを取得しています。

コード:

private Object getDataFromApi(ExecutionRequest request) 
      throws IOException 
    { 

     if (BuildConfig.DEBUG) { 
      request.setDevMode(true); // it will take saved version of script and not the published one 
     } 

     // Make the request. 
     Operation op = 
       mService.scripts().run(SCRIPT_ID, request).execute(); 

答えて

-1

私は問題を発見したが、コードにあった:それはなかれアクセスに保存したバージョンに強制的に公開されていないよう

if (BuildConfig.DEBUG) { 
    request.setDevMode(true); // it will take saved version of script and not the published one 
} 

に見えます。その後、外国のアカウントは保存されたバージョンにアクセスできず、エラー403が返されます。

このデベロッパーモードを無効にするか、リリースバージョンをインストールするとすべてが問題なくなります。

+0

なぜそれがダウン投票したのですか? –

関連する問題