Есть ли проблема с python 3?
Привет,
он должен быть совместим с обеими версиями Python: 2 и 3, но позвольте мне это проверить. Вернусь к вам.
Привет Спасибо за быстрый ответ.
Ниже я получаю ошибку
`------------------------------------------------- --------------------------
ModuleNotFoundError Traceback (последний вызов последним)
1 импорт json
2
----> 3 из office365.runtime.auth.authentication_context импорт AuthenticationContext
4 из office365.runtime.client_request импорт ClientRequest
5 из office365.runtime.utilities.request_options import RequestOptions
ModuleNotFoundError: нет модуля с именем office365.
И да, у меня есть pip install moduel :)
Привет, я написал код для получения информации, используя только модуль запросов. и я могу успешно получить файлы cookie FedAuth и rtFa. Однако при попытке получить siteUsers возникает ошибка Запрещено.
Не могли бы вы помочь в этом?
`запросы на импорт
url = " https://login.microsoftonline.com/extSTS.srf "
заголовки = {'content-type': 'application / json'}
TopLevelUrl = ' https://XXXX.sharepoint.com '
путь = 'C: \ PSR \ PythonFiles \ SharePointOnlineXML.txt'
filecontent = open (путь, 'r')
SharepointOnlineAuth = filecontent.read ()
SharepointOnlineAuth = SharepointOnlineAuth.format ('[email protected] ',' Пароль ', TopLevelUrl)
response = requests.post (URL, данные = SharepointOnlineAuth, заголовки = заголовки)
s = str (response.content)
Начало = [позиция для позиции в диапазоне (len (s)), если s [позиция:]. Начинается с ('
Finish = [pos для позиции в диапазоне (len (s)), если s [pos:]. Начинается с ('
LoginResponse = s [Начало + 40: Готово]
url = TopLevelUrl + '/ _ forms / default.aspx? wa = wsignin1.0'
заголовки = {'content-type': 'application / x-www-form-urlencoded'}
response = requests.post (URL, данные = LoginResponse, заголовки = заголовки)
url = TopLevelUrl + '/ _ api / web / siteusers'
печать (URL)
_Fedauth = 'FedAuth = {}'. Формат (response.cookies ['FedAuth'])
_rtFa = 'rtFa = {}'. формат (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, заголовки = заголовки)
печать (ответ) `
получение ошибки на python3.4:
_Traceback (последний вызов последний):
Файл auth_sharepoint_online365.py, строка 2, в
из office365.runtime.auth.authentication_context импорт AuthenticationContext
Файл "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 :
Модуль urlparse переименован в urllib.parse в Python 3.
Попробуйте этот https://github.com/parthrawal/Python.O365. Я написал файл .py, который может подключаться к SharePoint Online, и даже имеет некоторые методы для получения данных из списков в формате словаря. Дайте мне знать, если вам понадобится помощь.
@ vic-by Недавняя фиксация устраняет проблему: https://github.com/vgrem/Office365-REST-Python-Client/commit/90731f
Обратите внимание, что в настоящее время эта фиксация еще не отправлена на pypi. Так что если вы сделаете pip install Office365-REST-Python-Client
вы не получите этот код. Установка из git будет: pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git
Еще нужно поработать, чтобы получить библиотеку с Python 3.
Я столкнулся с проблемой кодирования при запуске библиотеки под 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: индекс списка вне допустимого диапазона».
да. Пароль правильный. Вот что происходит при ручном входе в систему.
Пишу ссылку в браузер: https://company.sharepoint.com/
При нажатии Enter меня перенаправляют на страницу входа: https://login.microsoftonline.com/575...71a/oauth2/authorize?client_id=...&response_mode=form_post&response_type=code%20id_token&resource=...&scope=openid&nonce = .... & redirect_uri = https :% 2F% 2Fcompany.sharepoint.com% 2F_forms% 2Fdefault.aspx & wsucxt = 1 & client-request-id = ....
После нажатия кнопки ОК на странице входа я увидел две быстрые ссылки ...
Первый: https://sts.company.com/adfs/ls/wia?client-request-id=...&wa=wsignin1.0&wtrealm=urn%3afederation%3aMicrosoftOnline&wctx=LoginOptions%3D3%26estsredirect%3d2%26estsrequest%. ... & cbcxt = & username = myemail% company.com & mkt = & lc =
... А также ...
Во-вторых: https: //login.microsoftonline.com/login.srf? Client-request-id = ...
И наконец останавливаемся на нужной странице:
https://company.sharepoint.com/
Я запустил этот код и обнаружил, что он выдает ошибку 403 где-то в коде.
response = requests.post (URL, данные = SharepointOnlineAuth, заголовки = заголовки)
s = str (response.content)
печать (и)
"b'403 ЗАПРЕЩЕНО"
Я забыл использовать конечную точку
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.
Спасибо. После установки утилит мне также нужно было установить db ... может быть полезно иметь в пакете проверку requirements.txt?
Что происходит сейчас, так это то, что операторы печати не подходят для 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 Спасибо, что разместили здесь свой прогресс, было бы хорошо, если бы мы могли сгладить некоторые из этих изгибов. В настоящее время эта библиотека используется в py 2.7 и хотелось бы, чтобы эти рабочие процессы были переведены на py 3.
Привет. У меня проблема с использованием этой библиотеки.
Ошибка при получении токена: AADSTS90023: недопустимый запрос STS.
Произошла ошибка при получении файлов cookie аутентификации
return 'FedAuth =' + self.FedAuth + '; rtFa = '+ self.rtFa
TypeError: можно только объединить str (не "NoneType") с str
Кто-нибудь может мне помочь?
Поскольку библиотека официально совместима со средами выполнения как Python 2, так и Python 3, предлагаем закрыть эту проблему.
Привет,
Я получаю эту ошибку «ModuleNotFoundError: Нет модуля с именем 'office365.sharepoint.client_context'», когда я использую среду проекта в pycharm во время работы. НО он будет работать нормально, если я использую системную среду Python. Такое же поведение, я использую Python 3.6 или 3.7.
Пожалуйста помоги!
Спасибо.
Самый полезный комментарий
@ vic-by Недавняя фиксация устраняет проблему: https://github.com/vgrem/Office365-REST-Python-Client/commit/90731f
Обратите внимание, что в настоящее время эта фиксация еще не отправлена на pypi. Так что если вы сделаете
pip install Office365-REST-Python-Client
вы не получите этот код. Установка из git будет:pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git