import requests
import json
token = "token"
group_id = 1
h ='тест'
text = 'магия!!!'
def getWallUploadServer():
r = requests.get('https://api.vk.com/method/photos.getWallUploadServer?', params = {'access_token':token,
'group_id':group_id,
'v':'5.101'}).json()
return r['response']['upload_url']
def save_r():
save_result = requests.get('https://api.vk.com/method/photos.saveWallPhoto?', params ={'access_token':token,
'group_id':group_id,
'caption': h,
'photo':upload_response['photo'],
'server':upload_response['server'],
'hash':upload_response['hash'],
'v':'5.101'}).json()
return ('photo'+str(save_result['response'][0]['owner_id'])+'_'+str(save_result['response'][0]['id'])+'&access_key, ')
def save_r2():
save_result = requests.get('https://api.vk.com/method/photos.saveWallPhoto?', params={'access_token': token,
'group_id': group_id,
'caption': h,
'photo': upload_response2['photo'],
'server': upload_response2['server'],
'hash': upload_response2['hash'],
'v': '5.101'}).json()
return ('photo' + str(save_result['response'][0]['owner_id']) + '_' + str(save_result['response'][0]['id']) + '&access_key=' + str(save_result['response'][0]['access_key']))
def main():
upload_url = getWallUploadServer()
file = {'file1': open('123.jpg', 'rb') }
file2 = {'file1': open('1234.jpg', 'rb')}
global upload_response
global upload_response2
upload_response = requests.post(upload_url, files=file).json()
upload_response2 = requests.post(upload_url, files=file2).json()
save_result = save_r()
save_result2 = save_r2()
print(save_result)
print(save_result2)
save_result = (save_result + save_result2)
result2 = requests.get('https://api.vk.com/method/wall.post?', params ={'attachments':save_result,
'owner_id':-group_id,
'message': text,
'access_token':token,
'from_group': '1',
'v':'5.101'}).json()
if __name__ == '__main__':
main()
{'server': 851528, 'hash': 'b3554f765046ea953770b086c4933591', 'photo': '[{"photo":"9417470c10:y","sizes":[["s",851528549,"277a4","QGBBUoggHus",75,75],["m",851528549,"277a5","ccPM20uu5SI",130,130],["x",851528549,"277a6","Atgyr1ffh7k",604,604],["y",851528549,"277a7","gcTwHy2uq1A",640,640],["o",851528549,"277a8","WBFHAIXAy1Q",130,130],["p",851528549,"277a9","i1hTby6vm7g",200,200],["q",851528549,"277aa","PRcC9nyHPbw",320,320],["r",851528549,"277ab","Bv8SoTa_aY8",510,510]],"latitude":0,"longitude":0,"kid":"85ac62253332d3f395f4ffed5865ae65"}]'} <class 'dict'>
{'response': [{'date': 1539877080, 'id': 456250404, 'album_id': -14, 'photo_75': 'https://pp.userapi.com/c848524/v848524585/9a92c/WMhPskInMWk.jpg', 'owner_id': 313430117, 'height': 2160, 'access_key': '25f86ae943854c6a2e', 'photo_130': 'https://pp.userapi.com/c848524/v848524585/9a92d/qVm36vN21QA.jpg', 'photo_807': 'https://pp.userapi.com/c848524/v848524585/9a92f/8AnJgcEbmqQ.jpg', 'width': 1728, 'photo_2560': 'https://pp.userapi.com/c848524/v848524585/9a931/WdFBRUG8SOA.jpg', 'photo_1280': 'https://pp.userapi.com/c848524/v848524585/9a930/Qit4ZJFKdRY.jpg', 'photo_604': 'https://pp.userapi.com/c848524/v848524585/9a92e/k-dG0C3ZTfc.jpg', 'text': 'Не следует, однако забывать, что постоянное информационно пропагандистское обеспечение нашей деятельности влечет за собой процесс внедрения и модернизации системы обучения кадров, соответствует насущным потребностям. Таким образом рамки и место обучения кадров требуют от нас анализа модели развития. Не следует, однако забывать, что начало повседневной работы по формированию позиции влечет за собой процесс внедрения и модернизации позиций, занимаемых участниками в отношении поставленных задач. Не'}]} <class 'dict'>