Skip to content

Instantly share code, notes, and snippets.

View allenmichael's full-sized avatar

Allen-Michael Grobelny allenmichael

  • Amazon Web Services
  • Austin, TX
  • X @amsxbg
View GitHub Profile
@allenmichael
allenmichael / app.js
Created September 15, 2017 09:40
Authenticate to Box with a Service Account and create a new App User
'use strict';
let BoxService = require('./boxClientService');
let Box = require('box-node-sdk');
const fs = require('fs');
let configFile = fs.readFileSync('config.json');
configFile = JSON.parse(configFile);
let BoxInstance = Box.getPreconfiguredInstance(configFile);
let serviceAccount = BoxInstance.getAppAuthClient('enterprise');
serviceAccount.enterprise.addAppUser('test appuser', null, function (err, user) {
if (err) {
@allenmichael
allenmichael / app.js
Last active September 18, 2017 21:53
Authenticate Box Service Account and list the Service Account's info.
'use strict';
// Require the Box SDK and the fs module
const box = require('box-node-sdk');
const fs = require('fs');
// Read and parse the automatically created Box configuration file.
let configFile = fs.readFileSync('config.json');
configFile = JSON.parse(configFile);
// Initialize the SDK with the Box configuration file and create a client that uses the Service Account.
@allenmichael
allenmichael / main.java
Last active September 18, 2017 21:43
Authenticate and log out Service Account information
package com.boxplayground;
import com.box.sdk.*;
import java.io.FileReader;
import java.io.Reader;
public class App {
public static void main( String[] args ) {
// Open a reader to read and dispose of the automatically created Box configuration file.
try(Reader reader = new FileReader("src/config/config.json")) {
// Initialize the SDK with the Box configuration file and create a client that uses the Service Account.
@allenmichael
allenmichael / Program.cs
Last active September 18, 2017 21:44
Authenticate and get Service Account user info
using System;
using System.IO;
using System.Threading.Tasks;
using Box.V2;
using Box.V2.Config;
using Box.V2.JWTAuth;
namespace BoxPlayground
{
public class Program
'use strict';
const box = require('box-node-sdk');
const fs = require('fs');
let configFile = fs.readFileSync('config.json');
configFile = JSON.parse(configFile);
let session = box.getPreconfiguredInstance(configFile);
let serviceAccountClient = session.getAppAuthClient('enterprise');
serviceAccountClient.enterprise.addAppUser("externalID", { "external_app_user_id": "auth0ID" })
@allenmichael
allenmichael / config.json
Created September 25, 2017 15:46
An example of the Box Application configuration file format
{
"boxAppSettings": {
"clientID": "",
"clientSecret": "",
"appAuth": {
"publicKeyID": "",
"privateKey": "",
"passphrase": ""
}
},
USER_ADMIN_ID="275111793" && \
USER_LOGIN="[email protected]" && \
USER_NAME="Box Demo Account" && \
USER_FOLDER_NAME="$USER_LOGIN Welcome Folder" && \
USER_ID=$(box users create "$USER_NAME" $USER_LOGIN --id-only) && \
FOLDER_ID=$(box folders create 0 "$USER_FOLDER_NAME" --id-only) && \
FILE_ID=$(box files upload ~/Documents/Welcome.pptx -p $FOLDER_ID --id-only) && \
box folders collaborations add $FOLDER_ID --co-owner --login $USER_LOGIN && \
box folders collaborations add $FOLDER_ID --co-owner --user-id $USER_ADMIN_ID && \
box comments create $FILE_ID file --message "Welcome to your Box account! Just @ mention me if you have any questions." --as-user $USER_ADMIN_ID && \
rm -rf /usr/local/lib/boxcli && \
unlink /usr/local/bin/box
'use strict';
const box = require('box-node-sdk');
const fs = require('fs');
let configFile = fs.readFileSync('config.json');
configFile = JSON.parse(configFile);
let session = box.getPreconfiguredInstance(configFile);
let serviceAccountClient = session.getAppAuthClient('user');
serviceAccountClient.enterprise.addAppUser("Jonathan", { "external_app_user_id": "jonathan" })
cat private_key.pem | awk '{printf "%s\\n", $0}'