两台计算机上ASP.NET中的OpenGraph API相同的代码,给出不同的结果

时间:2019-06-13 08:06:57

标签: c# asp.net opengraph

我和同事正在从事同一项目,并共享每一行代码。我们通过github共享了它,然后从我的机器上将其粘贴到他的文本上(我知道是徒劳的)。代码是一个asp.net表单,它接受booking.com的URL,通过opengraph.io API传递它,然后返回结果。我得到的结果符合预期,酒店名称,位置,星级。他得到的结果是酒店名称:“帮助!哪个酒店最好”,描述:“一些通用文字”。无论粘贴哪个网址,他都会得到相同的结果。

        [HttpPost]
        [ValidateInput(false)]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Create([Bind(Include = "poiId,city,name,address,website,poiImg,rating,lon,lat,phone,email,category")] POI pOI)
        {
            var url = Uri.EscapeDataString(pOI.website);
            var ogKey = Environment.ExpandEnvironmentVariables(
                    ConfigurationManager.AppSettings["OpenGraphAPI"]);
            var requestUrl = "https://opengraph.io/api/1.1/site/" + url + "?app_id=" + ogKey;
            dynamic ogResults = new Uri(requestUrl).GetDynamicJsonObject();

            pOI.name = Convert.ToString(ogResults.hybridGraph.title);

            pOI.rating = Convert.ToDouble(pOI.name.IndexOf(' '));
            pOI.pOIDescription = Convert.ToString(ogResults.hybridGraph.description);
            pOI.poiImg = Convert.ToString(ogResults.hybridGraph.image);

            string gcUrl = "https://maps.googleapis.com/maps/api/geocode/json?sensor=true&address=";
            string gcKey = Environment.ExpandEnvironmentVariables(
                    ConfigurationManager.AppSettings["GoogleAPI"]);

            string key = "&key=" + gcKey;

            dynamic googleResults = new Uri(gcUrl + pOI.name + key).GetDynamicJsonObject();
            pOI.lon = Convert.ToDouble(googleResults.results[0].geometry.location.lng);
            pOI.lat = Convert.ToDouble(googleResults.results[0].geometry.location.lat);
            pOI.address = Convert.ToString(googleResults.results[0].formatted_address);


            if (ModelState.IsValid)
            {
                db.POIs.Add(pOI);
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }

            ViewBag.category = new SelectList(db.Categories, "categoryId", "category1", pOI.category);
            ViewBag.city = new SelectList(db.Cities, "cityId", "city1", pOI.city);
            return View(pOI);
        }

为了进行api调用,我们使用与此https://pastebin.com/6b2fLChA

完全相同的代码

我只能假设我在不通过github共享的文件内部进行了一些更改,而忘记了所有这些。如果有人可以给我提示要寻找的东西,可能是什么引起了这个问题,我将非常有义务

0 个答案:

没有答案