コード例 #1
0
        GetNetworkInternal
        (
            StatusCriteria oStatusCriteria,
            Boolean bExpandStatusUrls,
            String sGraphServerUserName,
            String sGraphServerPassword,
            RequestStatistics oRequestStatistics
        )
        {
            Debug.Assert(oStatusCriteria != null);
            Debug.Assert(!String.IsNullOrEmpty(sGraphServerUserName));
            Debug.Assert(!String.IsNullOrEmpty(sGraphServerPassword));
            Debug.Assert(oRequestStatistics != null);
            AssertValid();

            GraphServiceClient oClient = new GraphServiceClient(
                GetWcfServiceBinding(), new EndpointAddress(GraphServiceUrl));

            Byte [] abtZippedGraphML;

            // There are two ways to get the network: With a maximum status date,
            // and with a maximum number of statuses.

            if (oStatusCriteria.HasDateRange)
            {
                abtZippedGraphML = oClient.GetTwitterSearchNetworkAsZippedGraphML(
                    oStatusCriteria.SearchTerm,
                    oStatusCriteria.MinimumStatusDateUtc,
                    oStatusCriteria.MaximumStatusDateUtc,
                    bExpandStatusUrls,
                    sGraphServerUserName,
                    sGraphServerPassword
                    );
            }
            else
            {
                abtZippedGraphML = oClient.GetTwitterSearchNetworkAsZippedGraphML2(
                    oStatusCriteria.SearchTerm,
                    oStatusCriteria.MaximumStatusDateUtc,
                    oStatusCriteria.MaximumStatusesGoingBackward,
                    bExpandStatusUrls,
                    sGraphServerUserName,
                    sGraphServerPassword
                    );
            }

            String sGraphML = ZipUtil.UnzipOneTextFile(abtZippedGraphML);

            abtZippedGraphML = null;

            XmlDocument oXmlDocument = new XmlDocument();

            // Note: When the DotNetZip library used by ZipUtil unzips the GraphML,
            // it includes a BOM as the first character.  Remove that character.

            oXmlDocument.LoadXml(sGraphML.Substring(1));

            return(oXmlDocument);
        }