gpt4 book ai didi

java - 如何在JAVA中使用Gigya API实现登录功能?

转载 作者:太空宇宙 更新时间:2023-11-04 13:53:21 24 4
gpt4 key购买 nike

我正在尝试从 Gigya DB 中删除帐户,以便我们可以重新使用它们来通过 Gigya 测试我们的登录功能。删除所需的 UID 似乎来自登录,那么我应该如何在 Java 中执行此操作?

最佳答案

正如 Ilan 所提到的,首先您需要包含 Gigya Java SDK。

然后,您可以使用 Gigya 控制台中的身份访问或身份查询工具查找 UID,并使用以下代码删除帐户:

// delete user record
GSRequest deleteAccountRequest = new GSRequest(apiKey, secretKey, "accounts.deleteAccount");
//deleteAccountRequest.setAPIDomain("eu1.gigya.com"); // enable this if you're using the EU data centre
deleteAccountRequest.setUseHTTPS(true);
deleteAccountRequest.setParam("UID", uid);
GSResponse deleteAccountResponse = deleteAccountRequest.send();
if(deleteAccountResponse.getErrorCode()==0)
{
}
else
{
System.out.println("deleteAccountResponse failure: " + deleteAccountResponse.getLog());
}

或者,如果您想批量删除用户,可以使用accounts.search运行搜索并删除结果集中的所有用户:

int limit = 100;
String query = "select UID from accounts where ... " + limit; // add your query here i.e. email = 'someone@example.com'
String cursorId = "";
int objectsCount = limit;

GSRequest searchRequest;
ArrayList<String> uidList = new ArrayList<String>();

// send request
do
{
// check if we have an open cursor
if(cursorId.length() > 0)
{
// run next request in cursor

// set up request
searchRequest = new GSRequest(apiKey, secretKey, "accounts.search");
//searchRequest.setAPIDomain("eu1.gigya.com");
//searchRequest.setUseHTTPS(true);

// set timeout
searchRequest.setParam("timeout", 60000);

// set cursor id
searchRequest.setParam("cursorId", cursorId);
} else {
// run new request and open cursor

// set up request
searchRequest = new GSRequest(apiKey, secretKey, "accounts.search");
//searchRequest.setAPIDomain("eu1.gigya.com");
//searchRequest.setUseHTTPS(true);

// set timeout
searchRequest.setParam("timeout", 60000);

// set query
searchRequest.setParam("query", query);

// open cursor
searchRequest.setParam("openCursor", true);
}

GSResponse searchResponse = searchRequest.send();
if(searchResponse.getErrorCode()==0)
{
GSArray uids = new GSArray();
uids = searchResponse.getArray("results", uids);
for(int i=0; i<uids.length(); i++)
{
String uid;
try {
// retrieve uid and add to list of uids
uid = uids.getObject(i).getString("UID");
uidList.add(uid);

} catch (GSKeyNotFoundException e) {
}

}

cursorId = searchResponse.getString("nextCursorId", "");
objectsCount = searchResponse.getInt("objectsCount", 0);
}
else
{
System.out.println("searchRequest failure: " + searchResponse.getLog());
}
}
while (objectsCount >= limit);

for(int i=0; i<uidList.size(); i++)
{
String uid;
try {
uid = uidList.get(i);

// delete user record
GSRequest deleteAccountRequest = new GSRequest(apiKey, secretKey, "accounts.deleteAccount");
//deleteAccountRequest.setAPIDomain("eu1.gigya.com");
deleteAccountRequest.setUseHTTPS(true);
deleteAccountRequest.setParam("UID", uid);
GSResponse deleteAccountResponse = deleteAccountRequest.send();
if(deleteAccountResponse.getErrorCode()==0)
{
}
else
{
System.out.println("deleteAccountResponse failure: " + deleteAccountResponse.getLog());
}

} catch (Exception e) {
}

}

关于java - 如何在JAVA中使用Gigya API实现登录功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086447/

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