Microsoft Graph на андроиде, отвечает 404 при получении файла - PullRequest
0 голосов
/ 07 сентября 2018

В обозревателе графиков Microsoft я могу легко получить файл Excel, но при попытке попробовать пример кода «active-directory-android-native-v2-master» возвращает 404.

С другой стороны, следующая строка работает и корректно извлекает мою информацию

final static String MSGRAPH_URL = "https://graph.microsoft.com/v1.0/me";

Я добавил все необходимые разрешения, получил идентификатор клиента, запустил все примеры инструкций, прочитал документацию + стек через поток.

Я подумал, что это может быть из-за того, что ссылка была закодирована неправильно, поэтому я изменил метод callGraphAPI (), добавив в него:

Uri.Builder builder = new Uri.Builder();
builder.
        scheme("https").
        authority("graph.microsoft.com").
        appendPath("v1.0").
        appendPath("drives").
        appendPath(MY_DRIVE).
        appendPath("items").
        appendPath(FILE_ID).
        appendPath("workbook");
String url = builder.build().toString();

JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,url/*MSGRAPH_URL*/,
        parameters,new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {

но все тот же ответ.

Я наткнулся на следующий ответ о переполнении стека

404 файл не найден ошибка при использовании Microsoft Graph API

И подумал, что это может быть ответ, но потом увидел, что вопрос старый, а в другом ответе упоминается, что он больше не верен.

ценим любую помощь.

1 Ответ

0 голосов
/ 10 сентября 2018

Кажется, я не знал, как использовать пример кода для V2 (active-directory-android-native- v2 -master), пока проводник графа (который работал) использовал V1.

Здесь есть отличное руководство по началу работы для примера кода V1 (active-directory-android-master) здесь:

https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-android

Пример кода выглядит практически одинаково только для V1.

При использовании учебника мне нужно было найти необходимые разрешения для команды, которую я пытался использовать, в дополнение к той, которая упоминалась в учебнике.

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

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/shares_get

Я также добавил разрешения, упомянутые в Graph Exlorer , поскольку, как уже было отмечено, команда, которую я пытался использовать, работала там.

Поскольку разрешения на сайте Azure не были написаны одинаково (например, Files.Read написано как «Чтение пользовательских файлов»), я использовал следующую ссылку для перевода:

https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference

К счастью, мне не нужно было использовать какие-либо права администратора, которые усложнили бы регистрацию в приложении

Надеется, что это поможет любому борющемуся новичку, как я:)

Если что-то из того, что я написал, неверно или вы думаете, что я должен что-то добавить, пожалуйста, дайте мне знать в комментариях ниже, и я постараюсь обновить

Кстати - я использовал Graph Exlorer , чтобы обнаружить нужные мне файлы и идентификаторы диска

...