gpt4 book ai didi

ios - Instagram IOS API 实现

转载 作者:行者123 更新时间:2023-11-30 11:50:03 25 4
gpt4 key购买 nike

我正在尝试获取身份验证 token 以便能够获取用户的信息。我在 instagram api 页面中注册了我的应用程序,除了我无法检索身份验证 token 或任何信息之外,一切似乎都正常。 (我认为这可能是因为我刚刚创建了一个虚拟网址的重定向网址)我可以登录我的 Instagram 帐户并授权我的应用程序检索信息,但我没有在控制台上打印任何内容,所以我假设我无法检索任何事物。

代码:

import UIKit
import WebKit
class ViewController3: UIViewController, UIWebViewDelegate {


@IBOutlet weak var WebView1: WKWebView!

override func viewDidLoad() {
super.viewDidLoad()
let authURL = String(format: "%@?client_id=%@&redirect_uri=%@&response_type=token&scope=%@&DEBUG=True", arguments: [API.INSTAGRAM_AUTHURL,API.INSTAGRAM_CLIENT_ID,API.INSTAGRAM_REDIRECT_URI, API.INSTAGRAM_SCOPE])
let urlRequest = URLRequest.init(url: URL.init(string: authURL)!)
WebView1.load(urlRequest)


// Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var tts = segue.destination as! Manage_Ad_VC
tts.S_Media_R = "Instagram"
}
func WebView1(_ WebView1: UIWebView, shouldStartLoadWith request:URLRequest, navigationType: UIWebViewNavigationType) -> Bool{
return checkRequestForCallbackURL(request: request)
}
func checkRequestForCallbackURL(request: URLRequest) -> Bool {
print("Instagram authentication token ==")
let requestURLString = (request.url?.absoluteString)! as String
if requestURLString.hasPrefix(API.INSTAGRAM_REDIRECT_URI) {
let range: Range<String.Index> = requestURLString.range(of: "#access_token=")!
handleAuth(authToken: requestURLString.substring(from: range.upperBound))
return false;
}
return true
}
func handleAuth(authToken: String) {
print("Instagram authentication token ==", authToken)
}

}

struct API {
static let INSTAGRAM_AUTHURL = "https://api.instagram.com/oauth/authorize/"
static let INSTAGRAM_CLIENT_ID = "myclientidgoeshere"
static let INSTAGRAM_CLIENTSERCRET = " myclientsercretgoeshere "
static let INSTAGRAM_REDIRECT_URI = "http://www.dummyurl.com/just_a_made_up_dummy_url"
static let INSTAGRAM_ACCESS_TOKEN = ""
static let INSTAGRAM_SCOPE = "follower_list+public_content" /* add whatever scope you need https://www.instagram.com/developer/authorization/ */

}

enter image description here

最佳答案

你使用过WKWebView和UIWebViewDelegate。它不是 WKWebView 委托(delegate)。该 View 是从 UIView 继承的 - 而不是从 uiwebview 继承的 - 这就是委托(delegate)方法不起作用的原因。尝试使用 WKNavigationDelegate 及其方法。

关于ios - Instagram IOS API 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48432041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com