WHMCS API を使用します。APIを使用してリクエストを作成しようとしています.そのAPIには、配列をシリアル化し、base64_encodeにする必要があります。彼らはphpで例を挙げ、それをC#コードに変換しようとしましたが、うまくいきません。
PHPコード:
$values["customfields"] = base64_encode(serialize(array("1"=>"Google")));
このための私のC#コード:
CustomFields[] cf = new CustomFields[2];
CustomFields cf0 = new CustomFields();
cf0.number = "16";
cf0.value = WebSiteTitle;
CustomFields cf1 = new CustomFields();
cf1.number = "14";
cf1.value = NewDomain;
cf[0] = cf0;
cf[1] = cf1;
byte[] bytecf = ObjectToByteArray2(cf);
String CString = Convert.ToBase64String(bytecf);
form.Add("customfields", CString);
private static byte[] ObjectToByteArray2(Object obj)
{
if (obj == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, obj);
return ms.ToArray();
}
[Serializable]
public class CustomFields
{
public string number { get; set; }
public string value { get; set; }
}
私は何か間違ったことをしましたか?リクエストを作成しようとすると機能せず、追加したい場所にこのフィールドを追加しないためです。