gpt4 book ai didi

java - 使用 Java google apps 目录 API 获取特定电子邮件 ID 的组时出错

转载 作者:太空宇宙 更新时间:2023-11-04 07:18:49 25 4
gpt4 key购买 nike

我想借助 Java Google Apps Directory API 在 Google Apps 中获取特定电子邮件 ID 的群组,但出现错误。

有人可以帮助解释一下错误是什么以及我的代码中可能导致该错误的原因吗?错误及相关代码如下。

错误:

WARNING: Application name is not set. Call Builder#setApplicationName.
Exception in thread "main" com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{
"error" : "invalid_grant"
}
<小时/>
import java.util.ArrayList;
import java.util.Collection;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.admin.directory.Directory;
import com.google.api.services.admin.directory.model.Group;
import com.google.api.services.bigquery.Bigquery;

public class Test {
private static Bigquery bigquery;
/**
* @param args
*/

public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub

HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();

Collection<String> SCOPES = new ArrayList<String>();
SCOPES.add("https://www.googleapis.com/auth/admin.directory.group");
SCOPES.add("https://www.googleapis.com/auth/admin.directory.user");


GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId("244204474315-l08ah6g350oofeosi7p8pqmotlrmgion.apps.googleusercontent.com")
.setServiceAccountUser("244204474315-l08ah6g350oofeosi7p8pqmotlrmgion@developer.gserviceaccount.com")
.setServiceAccountScopes(SCOPES)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File("C:\\Users\\nbaser\\Desktop\\76ba0ac39b06e8419bbb670734f3b2affeec43b2-privatekey.p12"))
.build();


Directory directory = new Directory.Builder(httpTransport, jsonFactory, credential).build();

// Directory.Users.List list = directory.users().list();
// list.setDomain("yourDomain.com");
// Users users = list.execute();


//Directory.Users.Get user = directory.users().get("nishant.baser@ahold.com");
//user.get

Directory.Groups.Get group = directory.groups().get("ausa.googleams.group@ahold.com");
Group groups = group.execute();

// Directory.Members.List list = directory.members().list("ausa.googleams.group@ahold.com");

// Members members = list.execute();

// System.out.println(members);
}

}

最佳答案

在您的新 GoogleCredential.Builder() 中调用 Builder#setApplicationName

关于java - 使用 Java google apps 目录 API 获取特定电子邮件 ID 的组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19607965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com