예제 #1
0
    def get(self):
        parser.add_argument('id', type=str, location='args')
        parser.add_argument('name', type=str, location='args')
        args = parser.parse_args()
        token = args['token']
        try:
            id = args['id']
        except IndexError :
            id = False
        try:
            name = args['name']
        except IndexError :
            name = False
        client = LineClient(authToken=token)
        lineTokenChecker = LineTokenChecker()
        if (lineTokenChecker.check(client)) :
            if (id) :
                profile = str(client.getContactById(id))
            elif (name) :
                profile = str(client.getContactByName(name))
            else:
                lineContactParse = LineContactParse()
                profile = lineContactParse.parse(client.contacts)
            return json.loads(profile), 200, {'Access-Control-Allow-Origin': '*'}

        else :
            return json.loads(lineTokenChecker.msg),505,{'Access-Control-Allow-Origin': '*'}
예제 #2
0
    def get(self):
        parser.add_argument('id', type=str, location='args')
        args = parser.parse_args()
        token = args['token']
        try:
            id = args['id']
        except IndexError :
            return {} , 506, {'Access-Control-Allow-Origin': '*'}
        client = LineClient(authToken=token)
        lineTokenChecker = LineTokenChecker()
        if (lineTokenChecker.check(client)) :
            try :
                if (id[0] =='u'):
                    contact = client.getContactById(id)
                    if contact :
                        message = client.getMessageBox(id)
                        msg ={}
                        msg["status"] = message.status
                        msg["unreadCount"] = message.unreadCount
                        msg["lastSeq"] = message.lastSeq
                        lastMessages = {} 
                        msg["lastMessages"]= (message.lastMessages[0].__dict__)

                        msg["midType"] = message.midType
                        msg["channelId"] = message.channelId, 
                        msg["lastModifiedTime"] = message.lastModifiedTime  
                        msg["id"] = message.id
                        return msg, 200, {'Access-Control-Allow-Origin': '*'}
                    else :
                        return {'status':'failure','msg':'找不到使用者'}, 500, {'Access-Control-Allow-Origin': '*'}
                elif (id[0] =='c'):
                    group = client.getGroupById(id)
                    if group :
                        message = client.getMessageBox(id)
                        msg ={}
                        msg["status"] = message.status
                        msg["unreadCount"] = message.unreadCount
                        msg["lastSeq"] = message.lastSeq
                        lastMessages = {} 
                        msg["lastMessages"]= (message.lastMessages[0].__dict__)

                        msg["midType"] = message.midType
                        msg["channelId"] = message.channelId, 
                        msg["lastModifiedTime"] = message.lastModifiedTime  
                        msg["id"] = message.id
                        return msg, 200, {'Access-Control-Allow-Origin': '*'}
                    else :
                        return {'status':'failure','msg':'找不到使用者'}, 500, {'Access-Control-Allow-Origin': '*'}
                else :
                    return {'status':'failure','msg':'錯誤的id'}, 500, {'Access-Control-Allow-Origin': '*'}
            except Exception :
                print Exception
            return {'status':'failure'}, 500, {'Access-Control-Allow-Origin': '*'}
        else :
            return json.loads(lineTokenChecker.msg),505,{'Access-Control-Allow-Origin': '*'}
예제 #3
0
    def post(self):
        parser.add_argument('id', type=str, location='form')
        parser.add_argument('message', type=str, location='form')
        args = parser.parse_args()
        token = args['token']
        try:
            id = args['id']
        except IndexError :
            return {"message": "沒有傳入Id"} , 506, {'Access-Control-Allow-Origin': '*'}
        try:
            message = args['message']
        except IndexError :
            return {"message": "message"} , 506, {'Access-Control-Allow-Origin': '*'}
        client = LineClient(authToken=token)
        lineTokenChecker = LineTokenChecker()
        if (lineTokenChecker.check(client)) :
            try :
                if (id[0] =='u'):
                    contact = client.getContactById(id)
                    if contact :
                        res = contact.sendMessage(message)
                        return {'status':'success'}, 200, {'Access-Control-Allow-Origin': '*'}
                    else :
                        return {'status':'failure','msg':'找不到使用者'}, 500, {'Access-Control-Allow-Origin': '*'}
                elif (id[0] =='c'):
                    group = client.getGroupById(id)
                    if group :
                        res = group.sendMessage(message)
                        return {'status':'success'}, 200, {'Access-Control-Allow-Origin': '*'}
                    else :
                        return {'status':'failure','msg':'找不到群組'}, 500, {'Access-Control-Allow-Origin': '*'}
                else:
                    return {'status':'failure','msg':'錯誤的Id'}, 500, {'Access-Control-Allow-Origin': '*'}

            except Exception :
               print Exception
            return {'status':'failure'}, 500, {'Access-Control-Allow-Origin': '*'}
        else :
            return json.loads(lineTokenChecker.msg),505,{'Access-Control-Allow-Origin': '*'}