Java的。 YouTube API。的AuthenticationException。

时间:2012-01-17 10:52:34

标签: java authentication youtube-api gdata-api insight

我在youtube api中遇到'身份验证问题'。获取洞察数据csv文件链接。这是我的代码。

package sample.youtube;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import com.google.gdata.client.Query;
import com.google.gdata.client.youtube.YouTubeService;
import com.google.gdata.data.youtube.VideoFeed;
import com.google.gdata.util.ServiceException;



public class CSV_Download {

    public static final String UPLOADS_URL = "http://gdata.youtube.com/feeds/api/users/default/uploads"; 
    public static void main(String[] args) {

        YouTubeService service = new YouTubeService("insight api", "dev key");
         Query query = null; 
         try { 
             query = new Query(new URL(UPLOADS_URL));
         } catch (MalformedURLException e) { 
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
         query.setFields("title,entry(title, media:group/media:player)");
         VideoFeed videoFeed = null;
         try { 
             videoFeed = service.query(query, VideoFeed.class); 
         } catch (IOException e) { 
             // TODO Auto-generated catch block 
             e.printStackTrace(); 
         } catch (ServiceException e) { 
             // TODO Auto-generated catch block 
             e.printStackTrace(); 
         }
         System.out.println(videoFeed.getTitle() + ":"); 
         System.out.println(" Link : "+videoFeed.getLink("http://gdata.youtube.com/schemas/2007#insight.views", "text/html") + ":");
    }

}

我的错误讯息:

  

com.google.gdata.util.AuthenticationException:用户身份验证   需要。需要用户认证。     

用户   需要验证。

错误401

     

在   com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:600)     在   com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:563)     在   com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:552)     在   com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:530)     在   com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535)     在com.google.gdata.client.Service.getFeed(Service.java:1135)at   com.google.gdata.client.Service.getFeed(Service.java:1077)at   com.google.gdata.client.GoogleService.getFeed(GoogleService.java:662)     在com.google.gdata.client.Service.query(Service.java:1237)at   com.google.gdata.client.Service.query(Service.java:1178)at   sample.youtube.CSV_Download.main(CSV_Download.java:30)例外   线程“main”java.lang.NullPointerException at   sample.youtube.CSV_Download.main(CSV_Download.java:38)

因此,我在声明YouTubeService客户端之后在代码中插入了一行(如下所示):

service.setUserCredentials("email_here", "password_here");

现在验证错误已经结束,代码运行成功。但我得到Null作为链接。我没有得到YouTube开发者论坛的任何回复。什么可能是错的?

0 个答案:

没有答案