2017-02-18 6 views
0

Название говорит все. Я думаю, что я пробовал все возможные комбинации, но никто из них, похоже, не работает.Контентное управление контентом (узел lib): запись не будет обновляться

Что я делаю неправильно?

Первое:

client.getSpace('<SPACEID>') 
.then((space) => { 
     space.updateEntry({ 
     "sys": { 
     id: "<ENTRYID>", 
     version:45 
      }, 
     "fields": { 
     "job": { 
      "fr-FR": "blablabla" 
      } 
     } 
    }) 
}) 

=> Неизвестное отвержение обещание TypeError: space.updateEntry не является функцией

Второе:

client.getSpace('<SPACEID>') 
     .then((space) => { 
      space.getEntry(<ENTRYID>) 
      .then((entry) => { 
       var ver = entry.sys.version 
       var id = entry.sys.id 
       entry = { 
        "sys":{ 
         id: id, 
         version:ver 
        }, 
        "fields": { 
         "job": { 
          "fr-FR": "blablabla" 
         } 
        } 
       } 
       entry.update() 
      }) 
     }) 

=> получил entry.update() не a

В-третьих:

.then((space) => { 
    space.getEntry(entryId) 
    .then((entry) => { 
     entry.fields.job = {"fr-FR": "blabla"} 
     entry.update() 
    }) 
}) 

=> получил Exception '- [__ длина NSCFNumber]: непризнанные селектор направлен например 0xb0000000000002d3'

Четвертое:

entry.fields.job['fr-FR'] = 'blabla' 

=> же исключение

ExceptionsManager.js:78 Exception '-[__NSCFNumber length]: unrecognized selector sent to instance 0xb000000000000013' was thrown while invoking sendRequest on target RCTNetworking with params (
     { 
     data =   { 
      string = "{\"fields\":{\"fireid\":{\"fr-FR\":\"bla\"},\"commission\":{\"fr-FR\":\"bla\"},\"dep\":{\"fr-FR\":\"bla\"},\"desc\":{\"fr-FR\":\"bla\"},\"email\":{\"fr-FR\":\"[email protected]\"},\"firstname\":{\"fr-FR\":\"firstname\"},\"job\":{\"fr-FR\":\"blabla\"},\"name\":{\"fr-FR\":\"name\"},\"tel\":{\"fr-FR\":\"0675234573\"},\"type\":{\"fr-FR\":\"Collaborateur\"}}}"; 
      trackingName = unknown; 
     }; 
     headers =   { 
      accept = "application/json, text/plain, */*"; 
      authorization = "Bearer TOKEN"; 
      "content-type" = "application/vnd.contentful.management.v1+json"; 
      "x-contentful-user-agent" = "contentful-management.js/1.3.1"; 
      "x-contentful-version" = 1; 
     }; 
     incrementalUpdates = 0; 
     method = PUT; 
     responseType = text; 
     timeout = 0; 
     url = "https://api.contentful.com:443/spaces/<SPACEID>/entries/<ENTRYID>"; 
    }, 
    139 
) 

ответ

0

для обновления вы можете сделать следующее: Сначала вам нужен объект записи, вы его создаете или получаете и введите по id:

// You can get an Entry object by 
// 1. Creating one 
var myEntry 
space.createEntry({}).then((entry) => {myEntry = entry}) 

// 2. Get an existing one 
space.getEntry('ENTRY_ID').then((entry) => {myEntry = entry}) 

// to Update an entry you can do the following 
entry.fields.name['en-US'] = 'Blog Post' 
entry.update() 
.then(entry => console.log(entry.fields.name['en-US'])) 

снова зависит от поля вашей записи, вы, возможно, не нужно делать [en-US], если вам не локализованный контент

+0

Спасибо большое за быстрый ответ, очень высокую оценку. Я бы жил в гораздо лучшем мире, если бы это сработало, но я действительно думаю, что это не так. Я могу легко создать запись, но: 1/if I do not do "job: {" fr-FR ":" blabla} ", API говорит, что ему нужен объект и будет отклонять строку. 2/если я пытаюсь чтобы сделать что-либо с созданной записью (даже entry.publish()), она выкинет исключение Exception '- [__ NSCFNumber length]: нераспознанный селектор, посланный экземпляру 0xb000000000000013', был брошен при вызове sendRequest в целевом RCTNetworking 3/Когда запись сохранен, он не опубликован (нет обязательного поля неудовлетворенного) –

+0

@ThomasPoirier ошибка какая-то странная, и я не думаю, что она связана с sdk, вы используете сеть через прокси-сервер или что-то в этом роде? Какова ваша фактическая настройка? –

+0

Настройка осуществляется на основе реакции V0.33. Код: \t \t client.getSpace ('SPACEID') \t \t .then (пробел => { \t \t \t space.getEntry (EntryID) \t \t \t .then (вход => { \t \t \t \t entry.fields.job [ 'FR-FR'] = 'работает waouh' \t \t \t \t entry.update() \t \t \t \t .then (ввод => console.log (entry.fields.Работа [ 'FR-FR'])) \t \t \t}) \t \t}) –

 Смежные вопросы

  • Нет связанных вопросов^_^