有一些旧的、非官方的 Airbnb API,Airbnb 不向新合作伙伴提供访问权限。
如果我获得 Airbnb 令牌以批准 Airlock,我仍然无法访问预订。
也许有人有替代解决方案?
public string GetAirbnbAPIToken(string email, string password)
{
HttpClient client = new HttpClient();
var uri = new Uri("https://www.airbnb.com/api/v2/logins");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("x-airbnb-api-key", "your api key");
client.DefaultRequestHeaders.Add("x-airbnb-device-id", "111111111111111");
client.DefaultRequestHeaders.Add("user-agent", "Airbnb/19.18 AppVersion/19.18 iPhone/12.2 Type/Phone");
var credentials = new
{
email = email,
password = password,
type = "email"
};
var response = client.PostAsync(uri, new StringContent(JsonConvert.SerializeObject(credentials), Encoding.UTF8, "application/json")).Result.Content;
string responce = response.ReadAsStringAsync().Result;
Debug.WriteLine("Airbnb responce: " + responce);
//Open Airlock
try
{
//https://www.airbnb.com/airlock?al_id=AIRLOCK_ID
dynamic json = JsonConvert.DeserializeObject(responce);
string airlock = Convert.ToString(json.client_error_info.airlock.airlockId);
return "https://www.airbnb.com/airlock?al_id=" + airlock;
}
catch
{
}
//Parse reservations
try
{
dynamic json = JsonConvert.DeserializeObject(responce);
string token = Convert.ToString(json.login.id);
return Reservations(token).ToString();
}
catch
{
return "Airbnb token error: " + responce;
}
}
你可以试试快速 api,它的提供者之一是 - https://rapidapi.com/DataCrawler/api/airbnb19。根据您的用例和预算,您可以找到更多关于它的信息。