Android - WhatsApp 群组 ID / 打开群组聊天

问题描述 投票:0回答:3

经过长时间的谷歌搜索并没有带来我希望的结果,我有两个关于从另一个 Android 应用程序访问 WhatsApp 的问题。

首先我想说明一下我目前的发展状况:

编写了一个应用程序,您可以使用它通过 WhatsApp 分享一些文本。该应用程序正在做它应该做的事情(因为我对 Android 开发完全陌生)。我发现的第一种方法在 WhatsApp 的“Android 开发者常见问题解答”中有描述。它创建一个新意图,预填充应发送的文本并打开联系人选择器:

int pos = 0; //0 is just an example value
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
PushAlert pa = pushAlerts.get(pos); //get my text object from ArrayList
sendIntent.setPackage("com.whatsapp"); //directly choose WhatsApp as sharing app
sendIntent.putExtra(Intent.EXTRA_TEXT, "*" + pa.getTitle() + " * \n +" + pa.getContent()); //filling 
sendIntent.setType("text/plain");
startActivity(sendIntent); //Open contact picker

谷歌搜索和谷歌搜索,所以我找到了一种方法(代码片段)来打开特定的个人聊天并预先填写我想要分享的文本:

private void openWhatsAppChat(){
  Intent sendIntent = new Intent("android.intent.action.SEND");
  sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.ContactPicker"));
  sendIntent.setType("text");
  sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("phone number")+"@s.whatsapp.net"); //number without '+' prefix and without '0' after country code
  sendIntent.putExtra(Intent.EXTRA_TEXT,"sample text you want to send along with the image");
  startActivity(sendIntent);
}

所以我的问题是:

  1. 如何获取 WhatsApp 群组的 WhatsApp ID?
  2. 只需将方法2中的电话号码替换为群ID即可打开群聊并粘贴我的文字吗?或者还有其他方式打开并预填充群聊吗?
android whatsapp groupchat
3个回答
6
投票

您必须使用群组链接。
当用户安装您的应用程序时,您应该要求他们从 Whatsapp 群组信息中复制群组链接,然后将其存储以直接从您的应用程序访问该群组。
此链接仅对群组管理员可见,因此如果用户不是管理员,您应该指示他们向管理员询问该链接。
虽然此链接的目的是通过 Whatsapp 邀请群组,但它可以打开所需的群组聊天。

Intent intentWhatsapp = new Intent(Intent.ACTION_VIEW);
String url = "https://chat.whatsapp.com/<group_link>";
intentWhatsapp.setData(Uri.parse(url));
intentWhatsapp.setPackage("com.whatsapp");
startActivity(intentWhatsapp);

0
投票

我使用Tasker来获取群组的jid,尤其是我不是管理员的群组。你需要手动完成。所以如果你有10组,你就需要做10次。在tasker中创建一个任务,点击app,点击快捷方式,点击放大镜,搜索组,点击组,jid就会显示在长字符串里面。它应该以 %40 结尾,所以手动提取 jid


0
投票

为了获取有关我所属(甚至离开)的群体的信息,我使用非官方的解决方案。我需要一组功能来自动化 Whatsapp 中的群组,因此这个解决方案适合我。特别是为了获取组的 id,我使用“获取组”方法 大概就是这个样子。


    
    import requests
    
    url = "https://gate.whapi.cloud/groups?token=your_token"
    
    headers = {"accept": "application/json"}
    
    response = requests.get(url, headers=headers)
    
    print(response.text)
    

响应中会出现群组名称、群组 ID、创建日期、最后一条消息、所有成员、图标和许多其他内容。事实上,您可以在这里自己测试一下 https://whapi.readme.io/reference/getgroups ,但是您需要在服务中使用令牌。

然后您可以按照您想要的任何方式使用这些信息。我有参与者计数和分配系统+自动创建新组。自动化的方法有很多,你可以在这里看到:https://whapi.cloud/docs#/Groups/getGroups

© www.soinside.com 2019 - 2024. All rights reserved.