Python 3に問題はありますか?
こんにちは、
Pythonの両方のバージョン(2と3)と互換性があるはずですが、確認させてください。 折り返しご連絡いたします。
こんにちは迅速な返信をありがとう。
以下は私が得ているエラーです
`------------------------------------------------- --------------------------
ModuleNotFoundErrorトレースバック(最後の最後の呼び出し)
1インポートjson
2
----> 3 from office365.runtime.auth.authentication_context import AuthenticationContext
4 from office365.runtime.client_request import ClientRequest
5 from office365.runtime.utilities.request_options import RequestOptions
ModuleNotFoundError: 'office365'`という名前のモジュールがありません
そして、はい、私はpipにmoduelをインストールさせます:)
こんにちは、Requestsモジュールのみを使用して情報を取得するコードを作成しました。 FedAuthとrtFaのCookieを正常に取得できます。 ただし、siteUsersを取得しようとすると、Forbiddenというエラーがスローされます。
これを手伝ってもらえますか?
`インポートリクエスト
url = " https://login.microsoftonline.com/extSTS.srf "
ヘッダー= {'content-type': 'application / json'}
TopLevelUrl = ' https://XXXX.sharepoint.com '
path = 'C:\ PSR \ PythonFiles \ SharePointOnlineXML.txt'
filecontent = open(path、 'r')
SharepointOnlineAuth = filecontent.read()
SharepointOnlineAuth = SharepointOnlineAuth.format('[email protected] '、' Password '、TopLevelUrl)
response = requests.post(url、data = SharepointOnlineAuth、headers = headers)
s = str(response.content)
Start = [pos for pos in range(len(s))if s [pos:]。startswith( '
Finish = [pos for pos in range(len(s))if s [pos:]。startswith( '
LoginResponse = s [Start + 40:Finish]
url = TopLevelUrl + '/ _ forms / default.aspx?wa = wsignin1.0'
ヘッダー= {'content-type': 'application / x-www-form-urlencoded'}
response = requests.post(url、data = LoginResponse、headers = headers)
url = TopLevelUrl + '/ _api / web / siteusers'
print(url)
_Fedauth = 'FedAuth = {}'。format(response.cookies ['FedAuth'])
_rtFa = 'rtFa = {}'。format(response.cookies ['rtFa'])
_FinalDict = {'Cookie':_ Fedauth + '、' + _rtFa}
ヘッダー= {'Content-Type': 'application / x-www-form-urlencoded'、
'User-Agent': 'Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML、Geckoなど)Chrome / 59.0.3071.115 Safari / 537.36'}
headers.update(_FinalDict)
response = requests.get(url、headers = headers)
印刷(応答) `
python3.4でエラーが発生する:
_Traceback(最後の最後の呼び出し):
ファイル "auth_sharepoint_online365.py"、2行目、
office365.runtime.auth.authentication_contextからimportAuthenticationContext
ファイル "authentication_context.py"、2行目、
office365.runtime.auth.saml_token_providerからインポートSamlTokenProvider
ファイル "saml_token_provider.py"、2行目、
urlparseをインポートする
ImportError: ' urlparse 'という名前のモジュールはありません_
https://docs.python.org/2/library/urlparse.htmlによると:
Python 3では、urlparseモジュールの名前がurllib.parseに変更されました。
これを試してみてくださいhttps://github.com/parthrawal/Python.O365SharePoint Onlineに接続できる.pyファイルを作成しました。また、辞書形式のリストからデータを取得する方法もいくつかあります。 ご不明な点がございましたら、お気軽にお問い合わせください。
@ vic-by最近のコミットで問題が修正されました: https :
現時点では、このコミットはまだpypiにプッシュされていないことに注意してください。 したがって、 pip install Office365-REST-Python-Client
実行すると、そのコードは取得されません。 gitからインストールすると: pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git
python3でライブラリを実際に取得するために必要な作業はまだあります。
Python 3でライブラリを実行しているときにエンコードの問題が発生しました。これは、list.propertiesを実行しているときに発生しましたが、問題は永続的であると確信しています。
ctx = ClientContext(url, ctx_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()
lists = web.lists
ctx.load(lists)
ctx.execute_query()
lists[0].properties
in <module>()
---> 16 lists[0].properties
c:\python\python35\lib\encodings\cp850.py in encode(self, input, final)
17 class IncrementalEncoder(codecs.IncrementalEncoder):
18 def encode(self, input, final=False):
---> 19 return codecs.charmap_encode(input,self.errors,encoding_map)[0]
20
21 class IncrementalDecoder(codecs.IncrementalDecoder):
UnicodeEncodeError: 'charmap' codec can't encode character '\u2019' in position 11052: character maps to <undefined>
Python 3でも同じ問題が発生しています:「ModuleNotFoundError:「urlparse」という名前のモジュールがありません」
ファイルSharePointOnline.pyのテスト:認証の失敗->入力および保存されたパスワードが一致しません。
このリンクhttps://github.com/parthrawal/Python.O365を試しましたか?同じサービスアカウントを使用していることを確認してください
はい。 下部にあるコードをコピーして貼り付けます。
if __name__ == "__main__":
UserName = "[email protected]"
# UserName = "[email protected]"
Password = "my_password"
TopLevelUrl = "https://company.sharepoint.com/"
SPOnlineHeaders(UserName, Password, TopLevelUrl)
次のエラーが返されます。
....
IndexError: list index out of range
エラーの詳細を取得するために、SPOnlineHeadersに次のコード(印刷)を挿入しました。
response = requests.post(url, data=SharepointOnlineAuth, headers=headers)
s = str(response.content)
print(s)
応答:
... wst:FailedAuthentication ...入力および保存されたパスワードが一致しません...
あなたが使っているのはサービスアカウントだといいのですが
それは正しいです。 サービスアカウントを使用しています。
パスワードは正しいですか? もう一度確認してください。 コードを実行しようとしたので、正常に動作しています。 しかし、間違ったパスワードを入力すると、「IndexError:リストインデックスが範囲外です」というエラーがスローされます。
はい。 パスワードは正しいです。 これは、手動ログインを行うときに起こっていることです。
リンクをブラウザに書き込みます: //company.sharepoint.com/
Enterキーを押すと、ログインページにリダイレクトされます: https : &response_mode = form_post&response_type = code%20id_token&resource = ...
ログインページの[OK]ボタンを押した後、2つの高速リンクが表示されました...
最初: https :
... と ...
2番目: https://login.microsoftonline.com/login.srf?client-request-id = .. ..
そして最後に必要なページで停止します:
https://company.sharepoint.com/
このコードを実行すると、コードのどこかに403エラーがスローされていることがわかりました。
応答= requests.post(url、data = SharepointOnlineAuth、headers = headers)
s = str(response.content)
印刷
「b'403FORBIDDEN '」
エンドポイントを使用するのを忘れました
urlpar
urlparse(Python 3.6.5 :: Anaconda、Inc。)でも同じ問題が発生しています。 これは、saml_token_provider.pyを変更することで解決されました: from urllib.parse import urlparse [...] url = urlparse(self.url)
それから私はそれをインストールしたウェブがありませんでした: pip install lpthw.web
。 ただし、次の問題が発生しているため、問題があるようです。
from web import Web
File "C:\ProgramData\Anaconda3\lib\site-packages\web\__init__.py", line 14, in <module>
import utils, db, net, wsgi, http, webapi, httpserver, debugerror
ModuleNotFoundError: No module named 'utils'
utilsモジュールをanacondaにインストールします。
utilsモジュールをanacondaにインストールします。
ありがとう。 utilsをインストールした後、dbもインストールする必要がありました...パッケージにrequirements.txtをチェックしておくと便利かもしれません。
現在起こっていることは、printステートメントがpython3には適切ではないということです。
print "var", var
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?
次のリンクを通過してください:
https://docs.python.org/3.0/whatsnew/3.0.html
@viogpここに進捗状況を投稿していただきありがとうございます。これらのねじれのいくつかを解決できれば
やあ。 このライブラリの使用に問題があります。
トークンの取得中にエラーが発生しました:AADSTS90023:無効なSTS要求。
認証Cookieの取得中にエラーが発生しました
'FedAuth =' + self.FedAuth + 'を返します。 rtFa = '+ self.rtFa
TypeError:str( "NoneType"ではない)のみをstrに連結できます
誰かが私を助けることができますか?
ライブラリはPython2とPython3の両方のランタイムと公式に互換性があるため、この問題を解決することを提案してください。
やあ、
実行中にpycharmでプロジェクト環境を使用すると、このエラー「ModuleNotFoundError: 'office365.sharepoint.client_context'という名前のモジュールがありません」が表示されます。 しかし、Pythonシステム環境を使用すれば問題なく動作します。 Python3.6または3.7を使用しても同じ動作です。
助けてください!
ありがとう。
最も参考になるコメント
@ vic-by最近のコミットで問題が修正されました: https :
現時点では、このコミットはまだpypiにプッシュされていないことに注意してください。 したがって、
pip install Office365-REST-Python-Client
実行すると、そのコードは取得されません。 gitからインストールすると:pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git