# YoutubeAPI Livestream probleme



## Janrupf (26. Feb 2017)

Hallo an alle,
in letzter Zeit experimentiere ich ein wenig mit der YT-API. Doch ich habe Probleme eine LiveMessage in den Chat zu schreiben.
Die variable msg ist eine liveChatMessage.


```
youtube.liveChatMessages().insert("snippet.text", msg).execute();
```

An der stelle bekomme ich immer den fehler:


```
{
  "code" : 400,
  "errors" : [ {
    "domain" : "youtube.part",
    "location" : "part",
    "locationType" : "parameter",
    "message" : "snippet.text",
    "reason" : "unknownPart"
  } ],
  "message" : "snippet.text"
}
```

zu was muss ich snippet.text verädern damit es geht?
snippet alleine geht auch nicht.
Danke


----------



## Thallius (26. Feb 2017)

Dein Snippet sollte folgendermassen aussehen


```
{
  "snippet": {
    "liveChatId": "0",
    "textMessageDetails": {
      "messageText": "Test"
    },
    "type": "textMessageEvent"
  }
}
```

Wobei dei liveChatId natürlich eine gültige id sein muss.

Gruß

Claus


----------



## Janrupf (26. Feb 2017)

Ähhm, naja, ech erstelle das snippet per java. Aber du hast trotzdem alles geklärt . Ich muss glaube (kanns jz grad net testen) bloß snippet.text zu snippet.textMessageEvent ändern.  Wenns Probleme gibt melde ich mich nochmal.


----------



## Janrupf (26. Feb 2017)

Nein geht leider immer noch nicht 


```
package net.jan.test;

import java.io.IOException;
import java.util.List;
import com.google.common.collect.Lists;

import net.jan.auth.Auth;

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.services.youtube.YouTube;
import com.google.api.services.youtube.model.LiveChatMessage;
import com.google.api.services.youtube.model.LiveChatMessageSnippet;
import com.google.api.services.youtube.model.LiveChatTextMessageDetails;
//import com.google.api.services.youtube.model.Comment;
//import com.google.api.services.youtube.model.CommentSnippet;
//import com.google.api.services.youtube.model.CommentThread;
//import com.google.api.services.youtube.model.CommentThreadSnippet;

public class Main {

   private static YouTube youtube;
  
   public static void main(String[] args) {
        List<String> scopes = Lists.newArrayList("https://www.googleapis.com/auth/youtube");

        try {
           Credential credential = Auth.authorize(scopes, "commenthreads");
          
           youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential).setApplicationName("MCStreamMod").build();
/*          
           CommentSnippet commentSnippet = new CommentSnippet();
           commentSnippet.setTextOriginal("Automatisch erzeugt mit Java :D");
          
           Comment topLevelComment = new Comment();
           topLevelComment.setSnippet(commentSnippet);
          
           CommentThreadSnippet threadSnippet = new CommentThreadSnippet();
           threadSnippet.setVideoId("");
           threadSnippet.setTopLevelComment(topLevelComment);
          
           CommentThread comentThread = new CommentThread();
           comentThread.setSnippet(threadSnippet);
          
           CommentThread response = youtube.commentThreads().insert("snippet", comentThread).execute();
           System.out.println(response.getSnippet().getTopLevelComment());
*/
          
           LiveChatTextMessageDetails msgDetails = new LiveChatTextMessageDetails();
           msgDetails.setMessageText("Hi");
          
           LiveChatMessageSnippet chatMessageSnippet = new LiveChatMessageSnippet();
           chatMessageSnippet.setTextMessageDetails(msgDetails);
           chatMessageSnippet.setLiveChatId("4nm_TmCJKQ");
          
           LiveChatMessage msg = new LiveChatMessage();
           msg.setSnippet(chatMessageSnippet);
          
          
           youtube.liveChatMessages().insert("snippet.textMessageEvent", msg).execute();
          
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
      
   }

}
```


----------

