亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

403錯誤-那是一個錯誤。錯誤:disallowed_useragent

403錯誤-那是一個錯誤。錯誤:disallowed_useragent

iOS
回首憶惘然 2019-12-04 14:38:20
我正在嘗試為用戶授權IOS應用程序中的Google日歷API。我正在使用Google的OAuth2功能來驗證用戶身份。授權頁面將打開,并顯示403錯誤,描述如下:該用戶代理被歸類為嵌入式用戶代理(也稱為網絡視圖),因此不允許向Google發出OAuth授權請求。根據我們的政策,僅允許瀏覽器向Google提出授權請求。我們為本地應用程序提供了一些庫和示例,以在瀏覽器中執行授權請求。我遵循此鏈接中提到的相同步驟:https : //developers.google.com/google-apps/calendar/quickstart/ios與其查看我的代碼,不如查看以下鏈接:https : //developers.google.com/google-apps/calendar/quickstart/ios, 因為我在應用程序中復制粘貼了同樣的東西。以下是我的clientId和keyChainItemName:static NSString *const kKeychainItemName = @"Google Calendar API";static NSString *const kClientID = @"954370342601-sgl8k0jrbqdeagea9v6vfu3tspte96ci.apps.googleusercontent.com";
查看完整描述

3 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

在我的情況下,我使用的是本地網絡視圖來登錄google,因此我發現了應該為Webview提供用戶代理的方法。試試下面的代碼,我相信它會起作用。


在應用程序didFinishLaunchingWithOptions中添加代碼


目標C


 NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", @"UserAgent", nil];

 [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];

斯威夫特3.0


let dictionaty = NSDictionary(object: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", forKey: "UserAgent" as NSCopying)

UserDefaults.standard.register(defaults: dictionaty)


查看完整回答
反對 回復 2019-12-04
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

<preference name="OverrideUserAgent" value="Mozilla/5.0 Google" />

我在cordova項目中也遇到了這個問題。您可以嘗試:將它添加到您的config.xml中,對我有用。


查看完整回答
反對 回復 2019-12-04
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

如先前的答案所述,這SFSafariViewController是一種解決方法,但是對于仍WKWebView用于OAuth授權的用戶,有一個簡單的解決方法。


只需customUserAgent從列表更改為一個或將其設置為任意值即可。之后該disallowed_useragent錯誤將消失:


WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];

WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];

// Check for selector availability, as it is available only on iOS 9+

if ([webView respondsToSelector:@selector(setCustomUserAgent:)]) {

    webView.customUserAgent = @"MyCustomUserAgent";

}

如需更改User-Agent,UIWebView可以查看此答案。


但是要小心,因為某些后端代碼可能取決于User-Agent標頭值。


查看完整回答
反對 回復 2019-12-04
  • 3 回答
  • 0 關注
  • 2195 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號