2017-10-23 15 views
0

업데이트하려고 시도하기 전에 항목을 업데이트하지 않고 client.entries().async().unPublish(entry)을 사용하여 항목의 게시를 취소하고 작동하지만 아래 코드를 사용하여 업데이트하려고하면 항목이 업데이트됩니다. 메시지를 따르십시오 : java.lang.IllegalArgumentException: entry must have a space associated.Contentful에서 항목을 업데이트하는 방법

내가 뭘 잘못하고 있니?

final CMAClient client = 
         new CMAClient 
           .Builder() 
           .setAccessToken(contentfulConnection.getCMA_TOKEN()) 
           .build(); 
    final CMASystem sys = new CMASystem(); 

    sys.setId(entryID).setVersion(CurrentVersion); 

    CMAEntry entry; 
    entry.setField("name", "en-US", "TEST").setSystem(sys); 
    entry.setSpaceId(SPACE_ID); 
    entry.setID("entryID");  


    client.entries().async().update(entry, new CMACallback<CMAEntry>() { 

       @Override protected void onSuccess(CMAEntry entry) { 

        // Successfully created a new entry. 

        new AlertDialog.Builder(ctx).setTitle("Contentful")                                             
        .setMessage("Creation of an entry was successful." +"\n\nResult: 
        " + 
        entry).show();                                               
    }   } 


@Override protected void onFailure(RuntimeException exception) { 

    // An error occurred! Inform the user. 

    new AlertDialog.Builder(ctx) 

    .setTitle("Contentful Error") 

    .setMessage("Could not create an entry." + 

    "\n\nReason: " + exception.toString()) 



     .show(); 

     System.out.println(exception.toString()); 


     super.onFailure(exception); 
                        } 
                       } 
                     ); 

답변

0

저는 Contentful Java SDK의 관리자입니다.

update 메서드를 사용하는 가장 좋은 방법은 먼저 항목을 가져 와서 데이터를 변경 한 다음 다시 업데이트하는 것입니다.

to our documentation 링크를 따라 create/update an entry 버튼을 선택하면 항목을 업데이트하는 방법에 대한 코드 스 니펫이 표시됩니다. Android 용으로 보려면 Android 플랫폼을 선택하십시오.

이 정보가 도움이되기를 바랍니다.