packaged apps のマニフェストに permission.http://*/* などを記述すると Chrome ウェブストアで reject される

182 views
Skip to first unread message

Shibahata Tsugi

unread,
Oct 19, 2013, 11:08:23 PM10/19/13
to chrome-api-d...@googlegroups.com
はじめての投稿になります。お世話になります。
表題の通り、packaged apps の登録を行おうとしたところ reject されて困っています。
どなたか原因がお分かりの方がいらっしゃいましたらご助力頂けないでしょうか。

9月に新しい Chrome apps がリリースされましたが、それ以前の packaged apps の形式で開発していました。
登録しようとした manifest.json は以下になります


上記のプロジェクトを登録しようとしたところ、


エラーが発生しました: アイテムを処理できませんでした。

マニフェストではフィールド permissions.http://*/* を使用できません。


と表示され登録することができませんでした。
試しに permissions から "http://*/*" を削除したところ、登録することが出来ました。
(その後再び "http://*/*" を追加して更新しようとすると同じエラーがでます。domainをワイルドカードではなく限定しても同様でした)

packaged apps で cross origin 通信は可能だと思っているのですが、不可能になったのでしょうか
例えば tweetdeck の packaged apps (https://chrome.google.com/webstore/detail/tweetdeck-by-twitter/hbdpomandigafcibbmofojjchbcdagbl?utm_source=chrome-ntp-icon) は見た目から判断するに古い形式の packaged apps ですが、tweetdeck.com にアクセスしています。(もちろん、インストール時に permission warnings は出ます)

Chrome apps がリリースされた時点で、もしかしたら packaged apps は登録できないようになったのかもしれないとも思ったのですが、そのようなドキュメントは見当たらなかったのと、permissions.http://*/* がなければ登録できます。

ですので、 manifest 自体が間違っているのだと思うのですが、どこが間違っているのかわからない状態です。
ご存知の方がいらっしゃいましたらご教授いただけないでしょうか。
よろしくお願いいたします。

Toyoaki Washida

unread,
Nov 26, 2013, 9:28:25 AM11/26/13
to chrome-api-d...@googlegroups.com
遅いレスですので、すでに解決されているかと思いますが、
私のパッケージappのmanifestとくらべてみました。

(1)backgroundがappの中に入っていない
私のは、
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
となっております。
(2)backgroundのなかに、
"persistent": false
は、私は入れていません。このような
manifest項目は、packageappで見つかりませんでした。

私のpakage appは、httpのURL(ワイルドカードあり)とhttpsのURLをpermissionで与えていますが
警告も何にも出てこず正常に登録されます。


2013年10月20日日曜日 12時08分23秒 UTC+9 Shibahata Tsugi:
Reply all
Reply to author
Forward
0 new messages