2017-08-30 8 views
-2

私は以下のコードを試しましたが、LinkedInを共有していないだけを開きます。スウィフト3を使ってlinkedinの投稿を共有するには?

私は、Swiftを使用してiOSにLinkedIn SDKを統合しようとしています。

私は試しましたが動作しません。 LinkedInで投稿を共有する方法を教えてください。

func shareOnLinkedIn(){ 
    LISDKSessionManager.createSession(withAuth: 
[LISDK_BASIC_PROFILE_PERMISSION,LISDK_W_SHARE_PERMISSION], state: nil, showGoToAppStoreDialog: true, successBlock: {(sucess) in 
     let session = LISDKSessionManager.sharedInstance().session 
     print("Session ",session!) 
     //let url = "https://api.linkedin.com/v1/people/~" 
     if LISDKSessionManager.hasValidSession(){ 
      let url: String = "https://api.linkedin.com/v1/people/~/shares" 

      let payloadStr: String = "{\"comment\":\"YOUR_APP_LINK_OR_WHATEVER_YOU_WANT_TO_SHARE\",\"visibility\":{\"code\":\"anyone\"}}" 

      let payloadData = payloadStr.data(using: String.Encoding.utf8) 

      LISDKAPIHelper.sharedInstance().postRequest(url, body: payloadData, success: { (response) in 
       print(response!.data) 
      }, error: { (error) in 
       print(error!) 

       let alert = UIAlertController(title: "Alert!", message: "aomething went wrong", preferredStyle: .alert) 
       let action = UIAlertAction(title: "OK", style: .default, handler: nil) 

       alert.addAction(action) 
       self.present(alert, animated: true, completion: nil) 
      }) 
     } 
    }) {(error) in 
     print("Error \(String(describing: error))") 
    } 
} 

アプリの設定の[認証]タブでw_share権限を有効にしていることを確認してください - :

@IBAction func linkbtn(_ sender: Any) { 
    LISDKSessionManager.createSession(withAuth: [LISDK_BASIC_PROFILE_PERMISSION], state: nil, showGoToAppStoreDialog: true, successBlock: {(sucess) in 
     let session = LISDKSessionManager.sharedInstance().session 
     print("Session ",session!) 
     //let url = "https://api.linkedin.com/v1/people/~" 
     if LISDKSessionManager.hasValidSession(){ 
      let url: String = "https://api.linkedin.com/v1/people/~/shares" 

      let payloadStr: String = "{\"comment\":\"YOUR_APP_LINK_OR_WHATEVER_YOU_WANT_TO_SHARE\",\"visibility\":{\"code\":\"anyone\"}}" 

      let payloadData = payloadStr.data(using: String.Encoding.utf8) 

      LISDKAPIHelper.sharedInstance().postRequest(url, body: payloadData, success: { (response) in 
       print(response!.data) 
      }, error: { (error) in 
       print(error!) 

       let alert = UIAlertController(title: "Alert!", message: "aomething went wrong", preferredStyle: .alert) 
       let action = UIAlertAction(title: "OK", style: .default, handler: nil) 

       alert.addAction(action) 
       self.present(alert, animated: true, completion: nil) 
      }) 
     } 
    }) {(error) in 
     print("Error \(String(describing: error))") 
    } 
} 

答えて

1

が、これは試してみてください。 Info.plistに必要な値をすべて追加しました

+0

非常によく説明されています。 – Prakash

+0

LISDKAPIHelper.sharedInstance()。postRequestでエラーが発生しています。共有インスタンスが見つかりません。手伝ってくれますか ? –

+0

プロジェクトで使用しているSDKのバージョン。最新バージョンのSDKをダウンロードするには、次の手順を実行します。 - https://developer.linkedin.com/downloads#iossdk – Pushpendra

0

私はこれが正しいコードだと知っていますが、それはcreateSessionブロックに入りませんので、何が起こったのか、なぜ私は認証タブで許可を確認したのですか? dosen'tは創造論に入る

関連する問題