小编Meh*_*hat的帖子

无法通过Java SDK向Google进行身份验证以读取电子表格数据

当我尝试通过Google进行身份验证时,它会在身份验证过程中引发异常(检查服务名称)。

我使用Google Java SDK进行身份验证。

SpreadsheetService service = new SpreadsheetService("Print Google Spreadsheet Demo");   //this is my application name that i created in developer console
            service.setUserCredentials(MY_GOOGLE_EMAIL_ADDRESS, GOOGLE_ACCOUNT_PASSWORD);

        // Load sheet
        URL metafeedUrl = new URL(SPREADSHEET_URL);
        SpreadsheetEntry spreadsheet = service.getEntry(metafeedUrl, SpreadsheetEntry.class);
        URL listFeedUrl = ((WorksheetEntry) spreadsheet.getWorksheets().get(0)).getListFeedUrl();

        // Print entries
        ListFeed feed = (ListFeed) service.getFeed(listFeedUrl, ListFeed.class);
Run Code Online (Sandbox Code Playgroud)

setUserCredentials()方法中引发了异常。

例外:

com.google.gdata.util.AuthenticationException: Error authenticating (check service name)
    at com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(GoogleAuthTokenFactory.java:628)
    at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:500)
    at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:346)
    at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:362)
    at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:317)
    at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:301)
Run Code Online (Sandbox Code Playgroud)

在访问Google电子表格之前,我是否缺少任何配置?

java google-api google-sheets

5
推荐指数
0
解决办法
526
查看次数

有没有办法在使用spring执行rest api之前验证令牌

我为休息控制器配置了弹簧启动.我创建了很多api,但我需要在每个api中验证我的令牌信息,用户是否被授权或不基于提供的令牌.

在登录期间,我正在生成每个api中所需的令牌,用于访问信息.如果令牌无效,那么我需要返回消息Sorry, your provided token information has been expired or not exists.

下面是我的api.

@RequestMapping(value="/delete", method= RequestMethod.DELETE)
public Map<String, Object> delete(@RequestBody String reqData,HttpServletRequest request) {
    Map<String, Object> m1 = new HashMap<String,Object>();
    JSONObject jsonData = new JSONObject(reqData);
    Token token= tokenDao.getByTokenCode(jsonData.getString("token"));
    if(token==null){
        m1.put("status", "error");
        m1.put("message", "Sorry, your provided token information expired or not exists.");
        return m1;
    }
    //here my logic to remove user from database.
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在服务方法或使用注释中检查令牌功能,所以我需要在每个api中删除相同的代码,并需要使用一个通用功能.

java rest spring spring-security spring-boot

5
推荐指数
1
解决办法
5590
查看次数

我们如何使用dropwizard web serivce实现删除操作

我阅读了很多博客和教程,但我没有在dropwizard Web服务中找到删除操作.

这是我的代码:

public class PersonDAO extends AbstractDAO<Person> {
    public PersonDAO(SessionFactory factory) {
        super(factory);
    }
    public Optional<Person> findById(Long id) {
        return Optional.fromNullable(get(id));
    }

    public Person create(Person person) {
        return persist(person);
    }

    public List<Person> findAll() {
        return list(namedQuery("com.example.helloworld.core.Person.findAll"));
    }
    //here i want to create delete method
}
Run Code Online (Sandbox Code Playgroud)

这是我的服务文件:

@Path("/people")
@Produces(MediaType.APPLICATION_JSON)
public class PeopleResource {

    private final PersonDAO peopleDAO;

    public PeopleResource(PersonDAO peopleDAO) {
        this.peopleDAO = peopleDAO;
    }

    @POST
    @UnitOfWork
    public Person createPerson(Person person) {
        return peopleDAO.create(person);
    }

    @GET
    @UnitOfWork
    public List<Person> listPeople() …
Run Code Online (Sandbox Code Playgroud)

java jersey dropwizard

1
推荐指数
1
解决办法
2391
查看次数