2016-07-19 5 views
1

こんにちは私は私の質問をする前に、私はアプリの開発で新しいので、ご迷惑をおかけしたいと思います。ご質問は本当に愚かです。Instagram API。 Swift 3.0のaccess_tokenをリクエストしてください

私はInstagram APIを使ってアプリケーションを作っています。これは初めてXcodeに実装されたことです。正直なところ、実際の動作は分かりませんが、コードを取得するのに苦労しましたInstagramのは、Webビューを使用してスウィフトに提供していますが、今、私は、端末のコマンドを実行できるようにする必要があること:

curl -F 'client_id=CLIENT_ID' \ 
-F 'client_secret=CLIENT_SECRET' \ 
-F 'grant_type=authorization_code' \ 
-F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' \ 
-F 'code=CODE' \ 
https://api.instagram.com/oauth/access_token 

をそれはそれはiPhone上で処理できるようにするために可能ですか?

私はiPhoneアプリで端末コマンドを実行できるかどうかについて質問しています。もしそうなら、どうすればいいですか?このためのSwiftまたはObjective-Cコードとは何ですか?

ありがとうございます!

+1

なぜ "ターミナルコマンド":このコードを試してみてください? iOSで?それはウェブ呼び出しです。 iOSでウェブサービスの呼び出しを行う方法を見ましたか? – Larme

+0

私はあなたの質問(+1 upvote)のためにあなたに感謝したいと思います。 –

答えて

0

端末はデスクトップ/ラップトップのアプリケーションです。

cURLはデスクトップ/ラップトップ上のツール/ライブラリです。



iPhoneでこれらをインストールして使用できますか?



我々はカールがないと同じことを実現し、迅速なコードを書くことはできますか?

はい。 cURLコマンドは、Instagramによって提供されるWebサービスへの要求の実行です。

ウェブリクエストとウェブサービスの一般的な詳細については、google'ingとresearchのかなりの部分を行う必要があります。次に、NSURLSessionを使用するか、SDKを使用するなど、迅速にこれを行う方法を探します。

2

単純なhttp要求を送信する必要があります。

スウィフト3

let redirectURI = "https://www.instagram.com/" 
    let clientID = "{YOUR_CLIENT_ID}" 
    let clientSecret = "{YOUR_CLIENT_SECRET}" 
    let code = "{RECEIVED_CODE}" 

    let urlString = "https://api.instagram.com/oauth/access_token" 
    let url = NSURL(string: urlString)! 
    let paramString = "client_id=\(clientID)&client_secret=\(clientSecret)&grant_type=authorization_code&redirect_uri=\(redirectURI)&code=\(code)&scope=basic+public_content" 

    let request = NSMutableURLRequest(url: url as URL) 
    request.httpMethod = "POST" 
    request.httpBody = paramString.data(using: String.Encoding.utf8)! 

    let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in 
     do { 
      if let jsonData = data { 
       if let jsonDataDict = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.allowFragments) as? [String: AnyObject] { 
        NSLog("Received data:\n\(jsonDataDict))") 
       } 
      } 
     } catch let err as NSError { 
      print(err.debugDescription) 
     } 
    } 

    task.resume() 

スウィフト2

let redirectURI = "https://www.instagram.com/" 
    let clientID = "{YOUR_CLIENT_ID}" 
    let clientSecret = "{YOUR_CLIENT_SECRET}" 
    let code = "{RECEIVED_CODE}" 

    let urlString = "https://api.instagram.com/oauth/access_token" 
    let url = NSURL(string: urlString)! 
    let paramString = "client_id=\(clientID)&client_secret=\(clientSecret)&grant_type=authorization_code&redirect_uri=\(redirectURI)&code=\(code)&scope=basic+public_content" 

    let request = NSMutableURLRequest(URL: url) 
    request.HTTPMethod = "POST" 
    request.HTTPBody = paramString.dataUsingEncoding(NSUTF8StringEncoding)! 

    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) in 
     do { 
      if let jsonData = data { 
       if let jsonDataDict = try NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.AllowFragments) as? [String: AnyObject] { 
        NSLog("Received data:\n\(jsonDataDict))") 
       } 
      } 
      } catch let err as NSError { 
      print(err.debugDescription) 
     } 
    } 

    task.resume() 
関連する問題