2013-04-19 3 views
2

При попытке использоватьОшибка доступа при попытке использовать chrome.fileSystem chooseEntry

chrome.fileSystem.chooseEntry({ 
    type: 'openFile' 
},chooseEntryCallback)` 

на Canary 28.0.1483.0, я получаю следующее сообщение об ошибке в консоли:

chrome.fileSystem недоступно: у вас нет разрешения на доступ к этому API. Убедитесь, что требуемое разрешение или свойство манифеста включено в ваш manifest.json.

Я только требую чтения доступа, и это, как мой permissions варианта в файле манифеста выглядит следующим образом:

"permissions": [ 
    { 
    "fileSystem": [] 
    }, 
    "contextMenus", 
    "clipboardWrite", 
    "storage" 
], 

Это прекрасно работает с Стабильной 26.0.1410.64 поэтому вопросом, является ли есть некоторые изменения в разрешениях, которые необходимо будет обновить.

Примечание: Chrome работает в Windows 8, и при открытии файла с помощью drag'n drop он открывается без ошибок. Так что я угадываю, какая-то проблема с chooseEntry?

+1

Я угадывание вы уже пробовали просто «файловую систему» ​​как элемент списка, а не ключ в словаре. Я сделал образец с OSX 28.0.1484.0 на основе вашего описания (за вычетом остальных трех разрешений), и он работал как ожидалось, используя либо «файловую систему», либо «файловую систему»: «написать»}. Возможно, вы нашли ошибку, которую можете подать на crbug.com. – sowbug

+0

@sowbug Ваш комментарий решил мою проблему. Я попробовал «fileSystem» как элемент списка, и он работал как на stable & canary. То, что я ранее пробовал, было {"fileSystem"} (что сделало манифест недействительным, поскольку я по ошибке оставил фигурные скобки там) – lostsource

ответ

4

на основе комментариев @ таракан, я исправила эту проблему путем изменения fileSystem разрешения к элементу списка:

"permissions": [ 
    "fileSystem" 
], 

Edit: Чтобы включить расширенный write разрешение:

"permissions": [ 
    "fileSystem", 
    "fileSystem.write" 
], 
+0

Тогда вы можете выбрать для себя. – sowbug

Смежные вопросы