2016-09-20 57 views
0

我確定我在auth循環中做了錯誤的事情,但我一直得到500s,並且消息非常含糊。Box節點API可以獲取文件夾信息,但不能創建文件夾

所以,我從我的節點服務器調用box。首先,我創建一個客戶:

const sdk = new BoxSDK({ 
    clientID: process.env.CLIENT_ID, 
    clientSecret: process.env.CLIENT_SECRET, 
    appAuth: { 
     keyID: process.env.PUBLIC_KEY_ID, 
     privateKey: fs.readFileSync(path.resolve(__dirname, process.env.PRIVATE_KEY_PATH)), 
     passphrase: process.env.PRIVATE_KEY_PASSPHRASE, 
    }, 
    }); 


    app.use((req, res, next) => { 
    req.sdk = sdk.getAppAuthClient('user', process.env.BOX_USER_ID); 
    next(); 
    }); 

一旦我創建客戶端我觸發一個請求:

export function yearEnd(req, res) { 
    req.sdk.folders.create({ 
    name: 'test', 
    parent: { 
     id: '0', 
    }, 
    }, (e, r) => { 
    if (e) { 
     return res.send(e); 
    } 
    return res.status(201).send(r); 
    }); 
} 

響應我得到的回覆是:

{ 
    "request": { 
     "uri": { 
      "protocol": "https:", 
      "slashes": true, 
      "auth": null, 
      "host": "api.box.com", 
      "port": 443, 
      "hostname": "api.box.com", 
      "hash": null, 
      "search": null, 
      "query": null, 
      "pathname": "/2.0/folders", 
      "path": "/2.0/folders", 
      "href": "https://api.box.com/2.0/folders" 
     }, 
     "method": "POST", 
     "headers": { 
      "User-Agent": "Box Node.js SDK v1.0.0", 
      "Authorization": "[REMOVED BY SDK]", 
      "accept": "application/json", 
      "content-type": "application/json", 
      "content-length": 75 
     } 
    }, 
    "response": { 
     "statusCode": 500, 
     "body": { 
      "type": "error", 
      "status": 500, 
      "code": "internal_server_error", 
      "help_url": "http://developers.box.com/docs/#errors", 
      "message": "Internal Server Error", 
      "request_id": "29462704457e0f3876ee08" 
     }, 
     "headers": { 
      "server": "ATS", 
      "date": "Tue, 20 Sep 2016 08:29:59 GMT", 
      "content-type": "application/json", 
      "content-length": "188", 
      "cache-control": "no-cache, no-store", 
      "strict-transport-security": "max-age=31536000; includeSubDomains", 
      "vary": "Accept-Encoding", 
      "age": "0", 
      "connection": "keep-alive" 
     }, 
     "request": { 
      "uri": { 
       "protocol": "https:", 
       "slashes": true, 
       "auth": null, 
       "host": "api.box.com", 
       "port": 443, 
       "hostname": "api.box.com", 
       "hash": null, 
       "search": null, 
       "query": null, 
       "pathname": "/2.0/folders", 
       "path": "/2.0/folders", 
       "href": "https://api.box.com/2.0/folders" 
      }, 
      "method": "POST", 
      "headers": { 
       "User-Agent": "Box Node.js SDK v1.0.0", 
       "Authorization": "[REMOVED BY SDK]", 
       "accept": "application/json", 
       "content-type": "application/json", 
       "content-length": 75 
      } 
     } 
    }, 
    "statusCode": 500, 
    "maxRetriesExceeded": true 
} 

可有人告訴我我做錯了什麼?

回答

0

因此,文檔和方法簽名不匹配。我必須進入軟件包並親自檢查代碼。要創建,它是:

req.sdk.folders.create(<parent_id>, <folderName>, (e, r) => {...}); 
相關問題