Я не вижу файлы и папки, созданные с помощью кода, на моем Google Диске

Я веб-разработчик и хочу получить доступ к API Google из моего программного обеспечения для бизнеса, я создал аккаунт Drive и я могу создавать папки и файлы с помощью кода (VB.NET). Я следую документации, я создал JWT (Json Web Token), я использовал служебную учетную запись и я получил токен доступа.

Теперь я хотел бы получить доступ к API Google. Используя консольное приложение, я создал несколько папок, и я могу получить список созданных папок с помощью кода. Но я не вижу этих папок в моей учетной записи Google Диска. Как это возможно?

Вот запрос, который я отправляю на сервер, чтобы показать список папок и файлов: https://www.googleapis.com/files/{File_id}? Ключ = {api_key}

В ответ я получаю строку JSON с информацией, касающейся элементов FILE_ID. например.:

{ "kind":"drive#file", "id":"FILE_ID", "mimeType":"application/vnd.google-apps.folder"(if is a folder) / "FILE_MIMETYPE"(if is a file), "title":"FOLDER_NAME" / "FILE_NAME", ... }

А вот код, который я использовал для доступа к API Google: (VB.NET)

...

Public Function browseFile(ByVal fId As String) As List (Of FileSourceElement)

  Dim webclient As New WebClient()
  webclient.Headers.Add("Authorization", " Bearer " & _accessToken)
  webclient.Headers.Add("X-JavaScript-User-Agent", "Google APIs Explorer")
  Dim res As String = webclient.DownloadString("https://www.googleapis.com/drive/v2/files?key=" & _apiKey).Trim()

  'res contains the JSON with the informations of the file/folder 
  ...

End Function

Public Sub createContainer(ByVal path As String)
  Dim webclient As New WebClient()
  webclient.Headers.Add("Authorization", " Bearer " & _accessToken)
  webclient.Headers.Add("X-JavaScript-User-Agent", "Google APIs Explorer")
  webclient.Headers.Add("Content-Type", "application/json")
  webclient.UploadString("https://www.googleapis.com/drive/v2/files", _ 
                     "POST", _ 
                     "{""title"":""daEliminare2"", ""parents"":[{""id"":""" & path & """}], ""mimeType"":""application/vnd.google-apps.folder""}")
End Sub

...

В моем Google Диске я вручную не создал папку, и я не загрузил файл вручную, я должен выполнять все операции только с помощью кода.

Как я уже сказал, я успешно создал папку и успешно распечатал список файлов (с помощью кода), но в моем GDrive элементы, созданные пользовательским интерфейсом не появляются. Зачем?

Я читал, что в учетной записи службы для получения токена доступа требуется специальная строка JSON, которая называется Json Web Token (JWT) и состоит из заголовка, набор требований и подпись (строка base64). Строка:

{отформатированный в base64 заголовок JWT}. {отформатированный в base64 набор утверждений JWT}. {отформатированная в base64 подпись JWT}

Мой JWT это:

заголовок

{
  "alg": "RS256",
  "typ": "JWT"
}

Claim set { "iss": "[email protected]", // where '0123456789' is the CLIENT_ID. "scope": "https://www.googleapis.com/auth/drive", "aud": "https://accounts.google.com/o/oauth2/token", "exp": timeStamp + 3600, //where 'timeStamp' is the number of seconds since 1970-01-01T00:00:00. "iat": timeStamp }

Чтобы написать подпись, я следовал процедуре, описанной на этой странице:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount#computingsignature

После того как я написал JWT, я отправляю его на сервер и получаю строку JSON в качестве ответа в этом режиме:

{
  "access_token": "ACCESS_TOKEN", // (e.g.: 1/8xbJqaOZXS...)
  "type_token": "Bearer",
  "expire_in": 3600
}

Когда я получаю токен доступа (AT), я использую его для доступа к API Google; например: если бы я показал весь список файлов и папок, Я отправляю запрос с таким заголовком:

Авторизация: Bearer AT X-JavaScript-User-Agent: Google APIs Explorer

URL:https://www.googleapis.com/drive/v2/files?key={} MY_API_KEY

Но я подчеркиваю, что в списке есть некоторые элементы (с помощью консольного приложения VB.NET), а в моем Google Диске их нет.

Итак, я получил токен доступа, но мне не удалось получить доступ к API Google.

PS: мне нужен доступ к API Google без использования браузера.

Часть вторая:

Я прочитал, что в служебной учетной записи для получения токена доступа требуется специальная строка JSON под названием Json Web Token (JWT), состоящая из заголовка, набор требований и подпись (строка base64). Строка:

{отформатированный в base64 заголовок JWT}. {отформатированный в base64 набор утверждений JWT}. {отформатированная в base64 подпись JWT}

Мой JWT это:

заголовок

{
  "alg": "RS256",
  "typ": "JWT"
}

Claim set { "iss": "[email protected]", // where '0123456789' is the CLIENT_ID. "scope": "https://www.googleapis.com/auth/drive", "aud": "https://accounts.google.com/o/oauth2/token", "exp": timeStamp + 3600, //where 'timeStamp' is the number of seconds since 1970-01-01T00:00:00. "iat": timeStamp }

Чтобы написать подпись, я следовал процедуре, описанной на этой странице:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount#computingsignature

После того как я написал JWT, я отправляю его на сервер и получаю строку JSON в качестве ответа в этом режиме:

{
  "access_token": "ACCESS_TOKEN", // (e.g.: 1/8xbJqaOZXS...)
  "type_token": "Bearer",
  "expire_in": 3600
}

Когда я получаю токен доступа (AT), я использую его для доступа к API Google; например: если бы я показал весь список файлов и папок, Я отправляю запрос с таким заголовком:

Авторизация: Bearer AT X-JavaScript-User-Agent: Google APIs Explorer

URL:https://www.googleapis.com/drive/v2/files?key={} MY_API_KEY

Но я подчеркиваю, что в списке есть некоторые элементы (с помощью консольного приложения VB.NET), а в моем Google Диске их нет.

Итак, я получил токен доступа, но мне не удалось получить доступ к API Google.

PS: мне нужен доступ к API Google без использования браузера.

Большое спасибо и лучшие пожелания

член парламента

Ответы на вопрос(4)

Ваш ответ на вопрос