8

मैं अपने सिर को खरोंच कर रहा हूं कि यह पता लगाने की कोशिश कर रहा हूं कि मेरे पास एक परियोजना क्यों है (जो मैंने स्पर्श नहीं किया) अब और काम नहीं कर रहा था।Google एपी रीडायरेक्ट मुझे WP7 पर 404 त्रुटि देता है जब विंडोज 8 का उपयोग करता है लेकिन विंडोज 7

मूल रूप से मैं Google संपर्कों से कुछ डेटा वापस लेने का प्रयास करने का प्रयास कर रहा था। जब मैंने ओथ भाग में "अनुमति" चुना, तो यह मुझे 404 त्रुटि दे रहा था। यह सब विंडोज फोन 7 एमुलेटर में किया जाता है।

मुझे तब एहसास हुआ कि मैं अपने विंडोज 8 विभाजन पर था इसलिए मैं अपने विंडोज 7 विभाजन पर वापस गया और यह काम करता है।

आश्चर्य है कि यह कुछ आईई 10 अंक या कुछ है। किसी के पास कोई सिद्धांत है कि यह क्यों हो रहा है?

संपादित

यहाँ कुछ त्वरित नमूना कोड मैं मार पड़ी है शायद किसी को यह कोशिश करते हैं और मुझे बताओ कि क्या चल रहा है कर सकते हैं।

string clientId = "You client id here"; 

     public MainPage() 
     { 
      InitializeComponent(); 

      string url = String.Format("https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&redirect_uri=http://localhost&response_type=code&approval_prompt=auto&client_id={0}", clientId); 
      webBrowser1.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(webBrowser1_Navigated); 



      webBrowser1.Navigate(new Uri(url, UriKind.Absolute)); 




     } 



     void webBrowser1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e) 
     { 
      var queryParmas = e.Uri.ParseQueryString(); 

      foreach (var item in queryParmas) 
      { 
       if (item.Key == "code") 
       { 
        string test1 = "If you got here then it works"; 
        string test2 = "in windows 8"; 

       } 
      } 
     } 


    } 

XAML

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
      <phone:WebBrowser HorizontalAlignment="Left" IsScriptEnabled="True" Name="webBrowser1" VerticalAlignment="Top" Height="669" Width="468" /> 
     </Grid> 

EDIT2

वे विंडोज 7 के लिए आईई 10 जारी किया तो मुझे लगा कि स्थापित किया है और यह अभी भी विंडोज 7 पर काम करता है तो मुझे लगता है कि यह एक IE मुद्दा नहीं है। विंडोज 8 के साथ कुछ होना चाहिए? शायद आईआईएस?

Edit3

यहाँ क्या विंडोज 7 में

  1. आवेदन हो रहा है शुरू करने और भार MainPg.xmal
  2. नेविगेट शुरू हो रहा है, लेकिन अगर बयान को छोड़ दिया जाता है का एक प्रवाह है
  3. उपयोगकर्ता Google लॉगिन पेज देखता है और जानकारी में प्रवेश करता है और हिट लॉगिन
  4. नेविगेट ट्रिगर किया गया है लेकिन यदि कथन I रों को छोड़ दिया
  5. उपयोगकर्ता "के अनुरोध पेज" देखता है और अनुमति देनी होगी ऐप्लिकेशन अनुमतियां
  6. उपयोगकर्ता हिट की अनुमति देने के
  7. नेविगेट शुरू हो रहा है और में चला जाता है है "अगर" बयान
  8. उपयोगकर्ता देखता आईआईएस 7 स्क्रीन।

यहाँ क्या Windows 8 में

  1. आवेदन हो रहा है शुरू करने और भार MainPg का एक प्रवाह है।xmal
  2. नेविगेट शुरू हो रहा है, लेकिन बयान को छोड़ दिया जाता है, तो
  3. उपयोगकर्ता गूगल लॉगिन पृष्ठ देखता है और जानकारी में प्रवेश करती है और हिट के लिए लॉग इन
  4. नेविगेट शुरू हो रहा है, लेकिन अगर बयान को छोड़ दिया जाता है
  5. उपयोगकर्ता "के अनुरोध पेज" देखता है और अनुमति देनी होगी आवेदन अनुमति
  6. उपयोगकर्ता हिट
  7. 404 पृष्ठों पर जाता है नेविगेट ट्रिगर नहीं किया जाता है।

जैसा कि आप देख सकते हैं कि अनुमति बटन दबाए जाने के बाद यह सब गलत हो जाता है। विंडोज 7 में यह नेविगेटेड विधि पर वापस जाता है और फिर आईआईएस 7 स्वागत पृष्ठ दिखाता है लेकिन विंडोज 8 में अनुमति बटन हिट होने के बाद यह नेविगेटेड पेज पर नहीं जाता है और इसके बजाय 404 दिखाता है।

+0

आपने अपने win7 विभाजन में वास्तव में क्या बदल दिया? – sschrass

+0

मुझे नहीं पता कि आपका क्या मतलब है? मेरे पास दोहरी बूट विंडोज 8 और विंडोज 7 हैं। मेरे पास विंडोज 7 फोन एसडीके और वीएस 2010 दोनों स्थापित हैं। यदि मैं एक ही प्रोजेक्ट लेता हूं और इसे विंडोज 8 में चलाता हूं तो यह काम नहीं करता है। अगर मैं इसे विंडोज 7 में चलाता हूं तो यह काम करता है। – chobo2

+0

धन्यवाद, यही वह था जिसे मैं जानना चाहता था। यह मुझे स्पष्ट नहीं था, मौसम आपने बस कुछ फाइलें चलीं या एक और ओएस चलाया। मुझे पूरी तरह से पता नहीं है कि आप वास्तव में क्या कर रहे हैं, लेकिन यदि आप ओएसई स्विच कर रहे हैं तो 'लोकलहोस्ट' मुझे संदिग्ध बनाता है। – sschrass

उत्तर

0

आपको "नेविगेटिंग" ईवेंट हैंडलर का उपयोग करना चाहिए, न कि "नेविगेटेड" ईवेंट हैंडलर। कोड कोड प्राप्त होने पर यह आपको नेविगेशन को रद्द करने की अनुमति देगा। नेविगेशन के बाद नेविगेटेड हैंडलर को बुलाया जाता है और चूंकि कॉलबैक यूआरएल वास्तव में मौजूद नहीं है, इसलिए यह 404 त्रुटि फेंकता है। ऐसा लगता है कि यह आपके विंडोज 8 पर सही तरीके से काम कर रहा है, यह सुनिश्चित नहीं है कि आपको विंडोज 7 पर 404 क्यों नहीं मिल रहे हैं क्योंकि आपको इसे वहां भी देखना चाहिए।

+0

मुझे लगता है कि मैंने नेविगेटिंग की भी कोशिश की लेकिन मैं दोबारा जांच करने के लिए इसे फिर से कोशिश करूंगा और आपने इसे उलट दिया है। यह विंडोज 7 पर काम करता है लेकिन विंडोज 8 पर नहीं। – chobo2

+0

मैं जो कह रहा हूं वह है कि आपको "नेविगेटेड" ईवेंट का उपयोग करते समय 404 त्रुटि मिलनी चाहिए क्योंकि नेविगेशन पूर्ण होने के बाद ईवेंट को कॉल किया जाता है और कॉलबैक यूआरएल पॉइंट्स एक अवैध स्थान कॉलबैक यूआरएल पर नेविगेट करने से पहले "नेविगेटिंग" इवेंट हैंडलर को कॉल किया जाएगा, इसलिए यह आपको नेविगेशन से पहले यूआरएल को पार्स करने का मौका देगा, इसलिए यह 404 त्रुटि नहीं देगा। – Jon

+0

हम्म अजीब। खैर नेविगेटिंग मुझे कोड भाग देने लगता है ताकि कम से कम अच्छा हो तो मुझे लगता है कि उस विधि से मैं इसे स्थानीयहोस्ट पर रीडायरेक्ट करने की बजाय एक नया दृश्य कहूंगा? – chobo2

संबंधित मुद्दे