2011-11-13 3 views
1

J'utilise tornado web server et d'intégrer linkedin dans mon application J'utilise la classe LinkedinMixin que j'ajoute au framework à partir d'un code non officiel dans github. Tout fonctionne parfaitement, mais je voudrais être en mesure d'utiliser la part apiLinkedin Partager Api en utilisant le tornado LinkedinMixin et le contenu JSON

POST http://api.linkedin.com/v1/people/~/shares

L'API linkedin est en XML, c'est la raison pour laquelle il est parfois difficile de l'intégrer dans une tornade

https://developer.linkedin.com/documents/api-requests-json

Je trouve cet article qui me dit d'envoyer

{ "contentType":"linkedin-html", "body":"My Fancy Update" }

pour publier une mise à jour mais il me envoie un HTTP 401: Non autorisé aller chercher http://api.linkedin.com/v1/people/~/shares ...

Je voudrais savoir si quelqu'un connaît une autre version de linkedinMixin que celui-ci: https://github.com/facebook/tornado/pull/236/files

Et si quelqu'un pourrait me donner un exemple complet de l'API de partage à l'aide JSON

Merci,

Répondre

0

Je devrais probablement souligner que je n'ai aucune expérience avec l'API LinkedIn ou le serveur web Tornado. J'ai beaucoup travaillé avec OAuth, JSON et XML.

A en juger par la classe que vous avez mentionné, le

def linkedin_request(self, path, callback, access_token=None, post_args=None, **args): 

fait exactement ce que vous voulez. Pas besoin de se soucier de demander JSON, etc. Il le fait pour vous.

Je n'ai pas vraiment analysé les classes, mais je suppose que votre rappel ressemblerait à quelque chose comme:

import json 
def callback(data): 
    # If data is a JSON string, parse it. (remove this if data is a dict) 
    data = json.loads(data) 

    # Do something with the data 
    print data 

def makeRequest(): 
    something.linkedin_request("/v1/people/~/shares", callback) 

J'espère que cela vous a dans la bonne direction :-)

Questions connexes