0

私は Python (および一般的なコード) に比較的慣れていませんが、LinkedIn の People Search API を使用して、2 番目の接続の特定の詳細を取得することに成功しました。

Invitation API を使用してこれらの接続を招待する方法を理解しようとしていますが、苦労しています。ドキュメントはこちらです。

人の検索から「名前」や「値」などの必要な詳細を取得しましたが、json と urllib2 を使用して POST する方法がわかりません。HTTP エラー 400: Bad Request を返しているところです。

私は完全に明らかな何かを見逃していると確信しています - それはゼロからの自己学習の喜びです...

import json
import urllib2

opener = urllib2.build_opener()

data = json.dumps({"recipients": {"values": [{"person": {"_path": "/people/" + id}}]},"subject": "Invitation to connect.","body": "add me","item-content":{"invitation-request":{"connect-type":"friend", "authorization":{"name": "x-li-auth-token", "value": "abc1"}}}})
req = urllib2.Request('https://api.linkedin.com/v1/people/~/mailbox?format=json&oauth2_access_token=' + access_token, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
response = f.read()
f.close()
4

1 に答える 1

1

もし私があなただったら、urllib2 に大きな失敗を与えて、まっすぐRequestsに移るでしょう(ドキュメントはここにあります)。後悔しないことを保証します。インポート後、コード行を半分にできると思います。

私は最近切り替えましたが、振り返っていません。すべてを明確にし、ネイティブの JSON サポートを含むモジュールについて、気に入らないことが多すぎます。機能するコード スニペットを含めない唯一の理由は、LinkedIn API をまったく試していないからです。したがって、私が書いたリクエスト コードは、URL 転送の検索、SMS ゲートウェイへのアクセス、および別の HTTP-Post API へのアクセスのためだけです。他の誰かが既にそれを使って Twitter コードを書いています。

とにかく、実際のコード例がなければ、 Requests ではオープナー行を取り除き、データ形式をthis のようなものに変更し、API URL の以前のドキュメントと一致するように req 行を変更します (例: r = requests.get( )) r.text、r.json、r.content が利用可能になるため、応答をファイルとして開いて読み取る必要がなくなります。

于 2013-09-29T01:06:00.917 に答える