2015-09-04 83 views
1

我想从我的号码发送消息到WhatsApp上使用whatsApp API在C#中的另一个号码。为此,我在Visual Studio 2013中安装了WhatsAppi for .NET。使用C#中的whatsappAPI将消息发送到另一个号码

以下是我正在使用的代码。

string from = "919586896325"; 
string to = "919856745896"; 
string msg = "hello"; 

WhatsApp wa = new WhatsApp(from, "357168069647463", "abc", false, false); 

wa.OnConnectSuccess +=() => 
{ 
    System.Diagnostics.Debug.WriteLine("connected to whatsapp"); 
    wa.OnLoginSuccess += (phoneNumber, data) => 
    { 
     wa.SendMessage(to, msg); 
     System.Diagnostics.Debug.WriteLine("Message Sent"); 
    }; 

    wa.OnLoginFailed += (data) => 
    { 
     System.Diagnostics.Debug.WriteLine(data); 
    }; 

    wa.Login(); 
}; 


wa.OnConnectFailed += (ex) => 
{ 
    System.Diagnostics.Debug.WriteLine("could not connect = {0}", ex); 
}; 

wa.Connect(); 

当我运行此代码后输出来。

connected to whatsapp 
A first chance exception of type 'System.FormatException' occurred in mscorlib.dll 
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/3/ROOT-1-130858337690371973): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'. 
could not connect = System.FormatException: Invalid length for a Base-64 char array or string. 
    at System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength) 
    at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) 
    at System.Convert.FromBase64String(String s) 
    at WhatsAppApi.WhatsAppBase.encryptPassword() 
    at WhatsAppApi.WhatsSendBase.addAuthResponse() 
    at WhatsAppApi.WhatsSendBase.Login(Byte[] nextChallenge) 
    at MessageDiversification.services.MessageDivertService.<>c__DisplayClass5.<SendMessage>b__0() in c:\Users\vitana\Documents\Visual Studio 2013\Projects\MessageDiversification\MessageDiversification\services\MessageDivertService.asmx.cs:line 48 
    at WhatsAppApi.WhatsEventBase.fireOnConnectSuccess() 
    at WhatsAppApi.WhatsAppBase.Connect() 

有人可以告诉如何解决这个问题吗?

回答

2

你需要编码你的密码到Base64。

public static string Base64Encode(string text) 
{ 
    return System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(text)); 
} 

然后调用

WhatsApp wa = new WhatsApp(from, Base64Encode("357168069647463"), "abc", false, false); 
+0

是啊,我这样做,我得到了我的编码的密码,现在它说,非授权 – Prakhar

+0

我很高兴它的工作。所以我们解决了这个问题。非授权是另一个问题。 –

+0

你可以帮助解决这个问题 – Prakhar

0

从版本派生的PHP版本由于法律原因已停止。有没有真正的WhatsApp的API如果你谷歌

相关问题