sc_api_upload(profile, settings, file, parents)

Essa macro é utilizada para fazer o upload de arquivos na nuvem utilizando as APIs de Storage do Google, Amazon e DropBox.

Antes de mais nada, é necessário a criação das chaves de utilização da API, seja com a macro ou na interface dos campos.

Após obter as credenciais, siga com a configuração da macro. 

Veja abaixo a lista de parâmetros.

Paramêtros Valor Descrição
profile

Exemplo de como o parâmetro deve ser informado.

'profile' => 'minha_api',

Este parâmetro aceita apenas o nome do perfil criado.

Clique aqui, para ver como criar um perfil.

Devemos informar o nome do perfil criando na opção APIs no menu Ferramentas.

Quando utilizado, este parâmetro carrega as configurações informadas na criação do perfil.

Quando utilizado, o parâmetro settings não precisar ser informado.

Para mais detalhes veja Utilizando a macro com profile
settings

Exemplo de como o parâmetro deve ser informado.

'settings' => [
'app_name' => 'scriptcase',
'gateway' => 'dropbox',
'api_key' => '',
'api_secret' => '',
'access_token' => '',
],

Obs: Para mais informações sobre o parâmetro, veja a tabela exclusive do settings abaixo, para cada uma das APIs

Recebe um array com as credenciais de acesso referentes API que será utilizada.


Quando utilizado, o parâmetro profile não precisar ser informado.

file

Exemplo de como o parâmetro deve ser informado.

'file' => {upload_nome_do_arquivo},

Lista das opções aceitas:

  • {upload_nome_do_arquivo}
  • [variável_global]
  • ‘String do path do arquivo’

Este parâmetro recebe o caminho completo até o arquivo está localizado.


Ao utilizar um campo, deve ser do tipo upload nome do arquivo.

parents

Exemplo de como o parâmetro deve ser informado.

Utilizando um campo
'parents' => {nome_campo_texto},

Informando uma String
'parents' => ‘nome_da_pasta’,

Lista das opções aceitas:

  • {nome_campo_texto}
  • [variável_global]
  • ‘Nome da pasta ou caminho local de armazenamento na nuvem’

Diretório onde o arquivo será armazenado


Quando não informado, o arquivo será armazenado na raiz do servidor de armazenamento.

 

Como visto acima, o parâmetro settings recebe um o array com as credenciais de acesso referentes API utilizada.

Este parâmetro deve ser utilizado apenas quando não definimos um perfil no menu Ferramentas > API

Cada API possui suas próprias configurações para o parâmetro settings, veja abaixo como cada uma deve ser configurada.

 

Utilizando a macro com profile

A utilização da macro com um perfil, pede a criação prévia do mesmo.
Clique aqui, para ver como criar um perfil em cada uma das APIs de armazenamento disponíveis.

O perfil ou profile, contém os dados para utilização da API desejada, desta forma, ao utilizar um perfil na macro não se faz necessário utilizar o parâmetro settings.

O parâmetro profile aceita apenas o nome do perfil criado, para a utilização dinâmica da macro, será necessário utilizar o parâmetros settings.

 

Exemplo de uso da macro com o profile.

sc_api_upload([
'profile' => 'minha_api',
'file' => {arquivo},
'parents' => 'pasta_no_drive',
]);

Utilizando a macro com parâmetro settings

O array com as credenciais de acesso que deve ser passado na parâmetro settings varia de acordo com a API utilizada.

Veja abaixo como utilizar este parâmetro de acordo com cada uma das APIs disponíveis.

Ao utilizar o parâmetro settings na configuração na macro, não é necessário informar um profile.

 

Utilizando a macro com settings - API Google Drive

Primeiramente, devemos ter em mãos as credenciais para a utilização da API do Google Drive, clique aqui para saber como obtê-las.

Após a configuração das credenciais, veja abaixo todos os valores do array que devem ser passados no parâmetro settings utilizando a API do Google Drive.

Todos os valores abaixo são obrigatórios ao utilizarmos o parâmetro settings

Índice Valor Descrição
app_name

Exemplo de como o parâmetro deve ser informado.

'app_name' => 'scriptcase',

Este índice aceita apenas string

Nome da app informado na criação das credenciais de acesso.
gateway

Exemplo de como o parâmetro deve ser informado.

'gateway'  => 'google_driver',

Este índice aceita apenas string

Nome do gateway para identificar a API utilizada.

json_oauth

Exemplo de como o parâmetro deve ser informado.

'json_oauth'  => 'JSON',

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel

Recebe o conteúdo do arquivo (JSON) de autenticação gerado pelo usuário.

Este arquivo deve ser baixado após a criação das credenciais no site do google.

auth_code

Exemplo de como o parâmetro deve ser informado.

'auth_code'  => '5/4wHt7TBTY4MtvQ',

Lista das opções aceitas:

  • {nome_campo}
  • $variavel

Recebe o código auth_code, gerado após a configuração da API seguindo os passos descritos no tutorial Como gerar o auth_code para utilização da API do Google Driver

token_code

Exemplo de como o parâmetro deve ser informado.

'token_code'  => '4/4wHt7TBTY4MtvQ',

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel
É possível gerar o token_code utilizando nossa macro sc_api_gc_get_obj


Exemplos de utilização da macro com o Google Drive, utilizando o parâmetro settings

sc_api_upload([
'settings' => [
'app_name' => 'scriptcase',
'gateway' => 'google_drive',
'json_oauth' => '',
'auth_code' => '',
'token_code' => '',
],
'file' => {arquivo},
'parents' => '',
]);

Utilizando a macro com settings - Dropbox

Primeiramente, devemos ter em mãos as credenciais para a utilização da API do Dropbox, clique aqui para saber como obtê-las.

Após a configuração das credenciais, veja abaixo todos os valores do array que devem ser passados no parâmetro settings utilizando a API do Dropbox.

Todos os valores abaixo são obrigatórios ao utilizarmos o parâmetro settings

Índice Valor Descrição
app_name

Exemplo de como o parâmetro deve ser informado.

'app_name' => 'scriptcase',

Este índice aceita apenas string

Nome da app informado na criação das credenciais de acesso.
gateway

Exemplo de como o parâmetro deve ser informado.

'gateway'  => 'google_driver',

Este índice aceita apenas string

Nome do gateway para identificar a API utilizada.

api_key

Exemplo de como o parâmetro deve ser informado.

'api_key’  => {nome_campo},

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel
Recebe o app key, disponibilizado ao configurar as credenciais da API.
api_secret

Exemplo de como o parâmetro deve ser informado.

'api_secret’  => {nome_campo},

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel
Recebe o app secret, disponibilizado ao configurar as credenciais da API.

 

Exemplos de utilização da macro com o Dropbox, utilizando o parâmetro settings

sc_api_upload([
'settings' => [
'app_name' => 'scriptcase',
'gateway' => 'dropbox',
'api_key' => '',
'api_secret' => '',
'access_token' => '',
],
'file' => {arquivo},
'parents' => '',
]);

 

Utilizando a macro com settings - Amazon S3

Devemos ter em mãos as credenciais para a utilização da API de armazenamento do Amazon S3, clique aqui para saber como obtê-las.

Após a configuração das credenciais, veja abaixo todos os valores do array que devem ser passados no parâmetro settings utilizando a API da Amazon S3.

Todos os valores abaixo são obrigatórios ao utilizarmos o parâmetro settings

Índice Valor Descrição
app_name

Exemplo de como o parâmetro deve ser informado.

'app_name' => 'scriptcase',

Este índice aceita apenas string

Nome da app informado na criação das credenciais de acesso.
gateway

Exemplo de como o parâmetro deve ser informado.

'gateway'  => 'google_driver',

Este índice aceita apenas string

Nome do gateway para identificar a API utilizada.

api_key

Exemplo de como o parâmetro deve ser informado.

'api_key’  => {nome_campo},

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel
Recebe o app key, disponibilizado ao configurar as credenciais da API.
api_secret

Exemplo de como o parâmetro deve ser informado.

'api_secret’  => {nome_campo},

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel
Recebe o app secret, disponibilizado ao configurar as credenciais da API.
region

Exemplo de como o parâmetro deve ser informado.

'region'  => 'us-east-1',

O parâmetro region da macro aceita apenas o código da região.
Para facilitar, segue link para verificação do código de cada região.

https://docs.aws.amazon.com/general/latest/gr/rande.html

Recebe o código da região, o mesmo utilizado na criação das credenciais.
bucket

Exemplo de como o parâmetro deve ser informado.

'bucket'  => 'bucket_name',

Lista das opções aceitas:

  • ‘string’
  • {nome_campo}
  • $variavel
Recebe o nome do bucket criado ao configurar as credenciais da API.


Exemplos de utilização da macro com o Amazon S3, utilizando o parâmetro settings

sc_api_upload([
'settings' => [
'app_name' => 'scriptcase',
'gateway'  => 'S3',
'api_key' => '',
'api_secret' => '',
'region' => '',
'bucket' => '',
],
'file' => {arquivo},
'parents' => '',
]);