2017-08-17 4 views
1

Ich versuche, eine URL, ein Bild und einen Text zu linkedin über meine App zu teilen. Aber es zeigt einen Fehler alsLISDKErrorAPIDomain Fehler 403

Der Vorgang konnte nicht abgeschlossen werden. (LISDKErrorAPIDomain Fehler 403.)

Mein Code ist

func didLinkedinBtnPressed(cellObject: MyModel) { 

     let tmp = ["comment": cellObject.strSocialText!, 
        "content": ["title":"AppName", "description":cellObject.strSocialText!,"submitted-url":cellObject.strWebSite!,"submitted-image-url":cellObject.strImageUrl!],"visibility": ["code": "anyone"]] as [String : Any] 
     print("PostDtaa = \(tmp)") 
     let postData = try? JSONSerialization.data(withJSONObject: tmp, options: .prettyPrinted) 

     let url = NSString(string:"https://api.linkedin.com/v1/people/~/shares?format=json") 

     let permissions: [AnyObject] = [LISDK_BASIC_PROFILE_PERMISSION as AnyObject, LISDK_EMAILADDRESS_PERMISSION as AnyObject,LISDK_W_SHARE_PERMISSION as AnyObject] 

     LISDKSessionManager.createSession(withAuth: permissions, state: nil, showGoToAppStoreDialog: true, successBlock: { (success) ->() in 
      if LISDKSessionManager.hasValidSession() { 

       LISDKAPIHelper.sharedInstance().postRequest(url as String, body: postData, success: { (_ response) in 
        print(response ?? "") 
        self.simpleAlert(titleOfAlert: "Success", messageOfAlert: "Shared Successfully") 


        LISDKAPIHelper.sharedInstance().cancelCalls() 
        LISDKSessionManager.clearSession() 

       }, error: { (_errorRes) in 
        print(_errorRes?.localizedDescription ?? "No Error!!!") 



        LISDKAPIHelper.sharedInstance().cancelCalls() 
        LISDKSessionManager.clearSession() 

       }) 
      } 

     }, errorBlock: { (error) ->() in 
      print("%s", "error called!") 

      LISDKAPIHelper.sharedInstance().cancelCalls() 
      LISDKSessionManager.clearSession() 
     }) 
    } 

Warum bin ich hier einen 403 Fehler bekommen?

Antwort

1

experimentierte ich ein ähnliches Problem in der Vergangenheit an die w_share Erlaubnis

von linkedin doc

Notwendigen Erlaubnis verwendet war: w_share

Ob eingestellt als Standardberechtigung in der App-Einstellungen oder angefordert speziell über das Scope-Argument während Ihrer Authentifizierung Prozess, müssen Sie die w_share-Mitgliedserlaubnis in Bestellung anfordern Ihre Anwendung, um den API-Aufruf zur gemeinsamen Nutzung des Inhalts erfolgreich durchzuführen.

w_share ist standardmäßig deaktiviert, so dass es explizit enter image description here aktiviert sein muss

HINWEIS: das Token von App zwischengespeichert werden, so, um sicher zu sein, dass ein neues Token (mit den aktualisierten Berechtigungen) ist verwendet, empfehle ich Ihnen dringend, alles von Ihrem mobilen Gerät zu deinstallieren und neu zu installieren.

+0

Danke !! Ich habe das Feld rw_company_admin überprüft, aber nicht verwendet. – Bali